MongoDB查询多个字段

时间:2013-08-01 19:01:32

标签: 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)));

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);

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

1 个答案:

答案 0 :(得分:6)

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

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

我认为num1始终不大于num2