Я хочу получить уникальные значения из 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", "[email protected]");
//collection.insert(document);
List cursorDoc = collection.distinct("appName");
System.out.println(cursorDoc.get(0).toString());
Это дает мне размер списка как 2, который является правильным. но как я могу получить все значения строк для этих двух уникальных значений. Потому что мне нужно использовать все значения этих двух уникальных файлов jsp. Пожалуйста, помогите мне.
collection.distinct('appName')
предоставит вам все разные значения в вашей коллекции, которые существуют для этого конкретного поляName. Если вы знаете, что все документы имеют какую-то ценность, вы можете просто сделать
collection.find({})
Если вы не уверены, что поле существует для каждого документа, тогда вы хотите только документы, где это поле существует
collection.find({'appName' : {'$exists' :true}})
Это даст вам все документы, у которых есть поле "имя_пользователя", и значение будет одним из двух значений, которое вы ожидаете от своей команды collection.distinct('appName')