我想从mongo db获取唯一值。我已经尝试了很多,但找不到正确的解决方案。这就是我从mongo db获取值的方法。
Mongo mongo = new Mongo("localhost", 27017);
DB db = mongo.getDB("test");
DBCollection collection = db.getCollection("testCollection");
String hopKey = UUID.randomUUID().toString();
System.out.println("BasicDBObject example...");
BasicDBObject document = new BasicDBObject();
document.put("host", "http://localhost:5050");
document.put("key", hopKey);
document.put("appName", "BANK2");
document.put("userId", "xym@gmail.com");
//collection.insert(document);
List cursorDoc = collection.distinct("appName");
System.out.println(cursorDoc.get(0).toString());
这给我的列表大小为2是正确的。但是如何获得这两个唯一值的所有行值。 因为我需要在jsp文件中使用这两个唯一的值。 请帮帮我。
答案 0 :(得分:0)
collection.distinct('appName')
将为您提供该特定fieldName存在的集合中的所有不同值。如果您知道所有文档都有某种价值,那么您可以这样做
collection.find({})
如果您不确定每个文档的字段是否存在,那么您只想要存储该字段的文档
collection.find({'appName' : {'$exists' :true}})
这将为您提供定义了“appName”字段的所有文档,并且该值将是您期望从collection.distinct('appName')
命令中获得的两个值之一