如何使用Mongo Java驱动程序从集合中检索随机文档

时间:2017-12-09 19:27:50

标签: java mongodb mongodb-query aggregation-framework mongodb-java

我是Mongo Java驱动程序的新手。我使用3.4 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 个答案:

答案 0 :(得分: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管道阶段返回1个文档。