【问题标题】:MongoDB Java driver: distinct and iterative [closed]MongoDB Java驱动程序:独特且迭代[关闭]
【发布时间】:2015-02-27 08:43:14
【问题描述】:

因为 DBCollection#distinct() 返回类型 List 而不是像 DBCollection#find() 那样类型 DBCursor。 不幸的是,My distinct 的结果太大了。所以我需要一个好方法来遍历查询的不同值。 感谢您的帮助!

【问题讨论】:

标签: java mongodb iteration distinct


【解决方案1】:

驱动程序没有提供通过光标获取不同对象的工具,我们可以这样做,我不知道从性能角度来看哪个是正确的解决方案。

DBCollection coll = db.getCollection("your_collection");
    List<String> lst=coll.distinct("your_property");
    for(String l:lst){
        BasicDBObject query = new BasicDBObject("your_property", l);
        DBObject object=coll.findOne(query);
        System.out.println(object);
    }

【讨论】:

  • 我的问题是 List 将超过十亿个元素。因此,我不能使用区分功能。 Jyemin 建议使用聚合。它有效。无论如何,谢谢你的帮助。 :)
猜你喜欢
  • 1970-01-01
  • 2016-03-13
  • 2016-09-18
  • 1970-01-01
  • 2016-12-07
  • 1970-01-01
  • 2013-08-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多