Как сделать $ или и "и" в монго-запросе для драйвера Java? - PullRequest
1 голос
/ 07 мая 2011

Я хочу выполнить операции AND и $or в одном монго-запросе.

В Mongo Doc я прочитал монго запросы, по умолчанию используется AND.

Если я использую только или $or, это работает. Но если я попытаюсь использовать AND и $or, это не работает.

Я пробовал вот так

BasicDBObject query = new BasicDBObject();
query.append("name", "Anbu");

BasicDBObject orQuery = new BasicDBObject();
orQuery.put("name", "Kalaio");
List<BasicDBObject> orQueries = new ArrayList<BasicDBObject>();
orQueries.add(orQuery);

orQuery = new BasicDBObject();

orQuery.put("name", "Kumar");
orQueries.add(orQuery);

orQuery = new BasicDBObject();
orQuery.put("$or", orQueries);

query.put("$or", orQueries);

DBCursor cur = coll.find(query);//Not Working

DBCursor cur = coll.find(orQuery);//Working

Где я делаю это неправильно?

Спасибо!

1 Ответ

0 голосов
/ 11 мая 2011

Я не знаком с драйвером Java, но похоже, что вы пытаетесь вложить "или".К сожалению, это не разрешено в Монго.Это запланировано в будущем.См. Эти ошибки для получения дополнительной информации:

https://jira.mongodb.org/browse/SERVER-2585

https://jira.mongodb.org/browse/SERVER-1089

...