1

我想在单个 mongo 查询中同时执行AND和操作。$or

在 mongo doc 中,我已经阅读AND了默认情况下使用的 mongo 查询。

如果我只使用 or $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

我在哪里做错了?

谢谢!

4

1 回答 1

0

我不熟悉 Java 驱动程序,但您似乎正在尝试嵌套“或”。不幸的是,mongo 目前不允许这样做。不过,这是未来计划的事情。有关更多信息,请参阅这些错误:

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

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

于 2011-05-10T20:59:52.950 回答