1

Mongo Java 드라이버를 처음 사용했습니다. 3.4 Mongo 자바 드라이버를 사용하고 있습니다. 컬렉션에서 임의의 문서를 검색하려고합니다.Mongo Java 드라이버를 사용하여 컬렉션에서 임의의 문서를 가져 오는 방법

나는 임의의 문서를 찾기 위해 $sample을 사용해야 만한다는 것을 발견했으나 구현하려고 시도했지만 검색 할 수 없었습니다.

아래 코드는 제가 시도한 코드입니다.

MongoClient mongo = new MongoClient("localhost" , 27017); 

MongoDatabase database = mongo.getDatabase("car_local"); 

MongoCollection<Document> collection = database.getCollection("assetSchemeSet"); 

collection.aggregate([ { $sample: { size: 1 } } ]); 

누군가가 나를 도울 수 있다면 큰 도움이 될 것입니다.

+1

어떤 오류나 다른 정보가 있습니까? 그것은 $ sample에 대한 올바른 구문입니다. 문서를 다시 얻지 않습니까? car_local 및 assetSchemeSet의 철자/존재에 대해 확신합니까? –

+0

컴파일 오류가 발생했습니다 - "MongoCollection 유형의 메소드 집계 (List )가 인수에 해당되지 않습니다()". 내가 collection.count() 할 때, 카운트를 볼 수 있습니다 – Shasha

+0

당신은 실제로 여기에 자바와 자바를 혼합하고 있습니까 ....? 나는 aggregation() 호출이 당신이 자바로 코딩 한 것을 대표한다고 생각했다. –

답변

0

당신은 너무처럼 Aggregates sample helper를 사용할 수 있습니다

MongoClient mongo = new MongoClient("localhost" , 27017); 

MongoDatabase database = mongo.getDatabase("car_local"); 

MongoCollection<Document> collection = database.getCollection("assetSchemeSet"); 

collection.aggregate(Arrays.asList(Aggregates.sample(1))); 

이것은 $sample 파이프 라인 단계를 실행하여 한 문서를 반환합니다.