Closed. This question needs details or clarity。它当前不接受答案。












想改善这个问题吗?添加详细信息并通过editing this post阐明问题。

5年前关闭。





因为DBCollection#distinct()返回类型List,而不是像DBCollection#find()这样输入DBCursor。
不幸的是,我与众不同的结果太大了。因此,我还需要一种很好的方法来遍历查询的不同值。
谢谢你的帮助!

最佳答案

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

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

07-26 03:39