Как указать несколько условий в Java Mongo - PullRequest
1 голос
/ 28 января 2011

У меня есть код, который требует, чтобы я получил данные пользователя из коллекции базы данных Mongo

Ниже приведено одно из полей в моей коллекции пользователей

"emailSettings" : {
    "flag1" : true,
    "flag2" : true,
    "flag3" : true,
},

Я анализирую коллекцию Mongo из моей java-программы, используя объект BasicDB, и я хотел бы получить все записи, которые удовлетворяют emailSettings.flag1 =true и emailSettings.flag2 = true.

Когда я использую BasicDBObject, я могу получить записи, удовлетворяющие только одному из условий.

Есть ли решение для этого?

1 Ответ

1 голос
/ 28 января 2011

В Mongo части запроса по умолчанию объединяются с оператором 'и'. Так просто делать это

DBObject query = BasicDBObjectBuilder.start("emailSettings.flag1", true).add("emailSettings.flag2", true).get();

должен дать ожидаемый результат.

...