我在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);
两者都没有给我任何结果。您能否让我知道适合我目的的正确查询?
最佳答案
您忘记将$
添加到运算符。而且我还建议在这种情况下使用QueryBuilder,它更加方便:
DBObject query = QueryBuilder.start("num1").lessThanEquals(7).and("num2").greaterThanEquals(7).get();
我认为
num1
始终不大于num2
。关于MongoDB在多个字段上的查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18002390/