MongoDB查询多个字段

kou*_*bhC 4 mongodb mongodb-query mongo-java

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

  • NUM1:5
  • NUM2:10
  • NUM1:11
  • NUM2:15

我想查找文件,例如,如果我传递'7',查询应检查7是否位于num1和num2之间,并且必须返回此文档.

我试过了

BasicDBObject query = new BasicDBObject("num1", new BasicDBObject("gte", 7).append("num2",new BasicDBObject("lte", 7)));
Run Code Online (Sandbox Code Playgroud)

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);
Run Code Online (Sandbox Code Playgroud)

两个都没有给我任何结果.你能否告诉我正确的查询目的?

Ale*_*x P 6

您忘了添加$到运营商.我还建议在这种情况下使用QueryBuilder,它更方便:

DBObject query = QueryBuilder.start("num1").lessThanEquals(7).and("num2").greaterThanEquals(7).get();
Run Code Online (Sandbox Code Playgroud)

我认为num1总是不大于num2.