我试图从随机集合中检索单个文档,而不将整个集合加载到列表中。
我知道我想使用聚合,但我不知道如何实际使用Java/Morphia来执行它,而且在自述文件中也找不到任何东西。
db.users.aggregate(
[ { $sample: { size: 1 } } ]
) 我如何使用摩尔菲亚(理想情况下)或通过原始的Mongodb驱动程序来执行这个查询?
关于随机文档的所有问题似乎都在3.2之前,看起来比我认为应该的要复杂得多。
发布于 2017-01-09 00:15:08
解决了这个问题,虽然现在不推荐聚合,但它将适用于我的用例。
public void findRandomObject() {
BasicDBObject object = new BasicDBObject("$sample", new BasicDBObject("size", 1));
AggregationOutput output = getCollection().aggregate(object);
for (DBObject result : output.results()) {
LOGGER.info("output >> " + result);
}
}https://stackoverflow.com/questions/41538462
复制相似问题