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

问题描述 投票:1回答:1

我是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 } } ]);

如果有人可以帮助我,那将是一个很大的帮助。

java mongodb mongodb-query aggregation-framework mongodb-java
1个回答
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个文档。

© www.soinside.com 2019 - 2024. All rights reserved.