我在mongodb中存储了一些数字。例如,
我想查找文件,例如如果我传递'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);
两人都没有给我任何结果。你能否告诉我正确的查询?
答案 0 :(得分:6)
您忘了向运营商添加$
。我还建议在这种情况下使用QueryBuilder,它更方便:
DBObject query = QueryBuilder.start("num1").lessThanEquals(7).and("num2").greaterThanEquals(7).get();
我认为num1
始终不大于num2
。