我想在单个mongo查询中执行AND
和$or
个操作。
在mongo doc中我读过mongo查询默认使用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
我做错了什么?
谢谢!
答案 0 :(得分:0)
我不熟悉Java驱动程序,但似乎你正试图嵌套“或”。不幸的是,mongo目前不允许这样做。这是未来的计划。有关详细信息,请参阅这些错误: