Отличительные значения от монго дБ?

1

Я хочу получить уникальные значения из 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. Пожалуйста, помогите мне.

  • 1
    Какую структуру документа json вы выбираете?
Теги:
aggregation-framework

1 ответ

0
Лучший ответ
collection.distinct('appName')

предоставит вам все разные значения в вашей коллекции, которые существуют для этого конкретного поляName. Если вы знаете, что все документы имеют какую-то ценность, вы можете просто сделать

collection.find({})

Если вы не уверены, что поле существует для каждого документа, тогда вы хотите только документы, где это поле существует

collection.find({'appName' : {'$exists' :true}})

Это даст вам все документы, у которых есть поле "имя_пользователя", и значение будет одним из двух значений, которое вы ожидаете от своей команды collection.distinct('appName')

Ещё вопросы

Сообщество Overcoder
Наверх
Меню