因为DBCollection#distinct()
返回类型List而不是像DBCollection#find()
那样输入DBCursor。
不幸的是,My distinct的结果太大了。所以我需要一个很好的方法来循环查询的不同值。
谢谢你的帮助!
答案 0 :(得分: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);
}