5

我在 mongodb 中存储了一些数字。例如

  • 数字1:5
  • 数字2:10
  • 数字1:11
  • 数字2:15

我想查找文档,例如,如果我通过“7”,则查询应检查 7 是否位于 num1 和 num2 之间,并且必须返回此文档。

我试过了

BasicDBObject query = new BasicDBObject("num1", new BasicDBObject("gte", 7).append("num2",new BasicDBObject("lte", 7)));

List<BasicDBObject> obj = new ArrayList<BasicDBObject>();
        obj.add(new BasicDBObject("num1", new BasicDBObject("gte", 7)));
        obj.add(new BasicDBObject("num2", new BasicDBObject("lte", 7)));
        query.put("$and", obj);

两者都没有返回任何结果。您能否让我知道我的目的的正确查询?

4

1 回答 1

7

您忘记添加$运算符。而且我还建议在这种情况下使用 QueryBuilder ,它更方便:

DBObject query = QueryBuilder.start("num1").lessThanEquals(7).and("num2").greaterThanEquals(7).get();

我假设它num1总是不大于num2

于 2013-08-01T20:02:40.200 回答