【问题标题】:Java morphia $sample howto?Java morphia $sample 如何?
【发布时间】:2017-01-08 22:11:43
【问题描述】:

我正在尝试从随机集合中检索单个文档,而不将整个集合加载到列表中。

我知道我想使用聚合,但我不确定如何使用 Java/Morphia 实际执行它,而且我在自述文件中也找不到任何内容。

db.users.aggregate(
   [ { $sample: { size: 1 } } ]
) 

如何使用 Morphia(理想情况下)或通过原始 Mongodb 驱动程序执行此查询?

所有关于获取随机文档的问题似乎都在 3.2 之前,而且看起来比我想象的要复杂。

【问题讨论】:

    标签: java mongodb morphia


    【解决方案1】:

    想通了,虽然聚合现在已被弃用,但它适用于我的用例

    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);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2021-07-27
      • 1970-01-01
      • 1970-01-01
      • 2020-09-14
      • 1970-01-01
      • 1970-01-01
      • 2021-12-24
      • 2017-08-26
      • 2016-04-17
      相关资源
      最近更新 更多