【问题标题】:How to do $or and "and" in mongo query for java driver?如何在 java 驱动程序的 mongo 查询中执行 $or 和“and”?
【发布时间】:2011-05-06 22:48:00
【问题描述】:

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

在 mongo 文档中,我已经阅读了 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

我哪里做错了?

谢谢!

【问题讨论】:

    标签: java mongodb mongo-java


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-13
      • 1970-01-01
      • 1970-01-01
      • 2013-11-07
      • 2012-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多