如何通过_id查询mongo db?
How to query mongo db by _id?
我正在使用 MongoDB 和 Spring。我想通过_id查询数据库。
目前我有这个查询:
Query q = new Query(Criteria.where("_id").is(someId).and("deleted").is(false));
但这不知何故给了我 WhosebugError。这个查询有什么问题?或者更好的方法是什么?
使用 $and
运算符 Criteria.andOperator()
为所有提供的条件创建显式 AND 查询而不是链式查询,如下所示:
Query q = new Query(
new Criteria().andOperator(
Criteria.where("_id").is(someId),
Criteria.where("deleted").is("false")
)
);
这通常用于无法使用 Criteria.and()
将多个条件添加到同一字段的情况,例如
Query q = new Query();
q.addCriteria(Criteria.where("age").lt(40).and("age").gt(10));
会引发错误,因此解决方法是将 Criteria.andOperator()
用作
Query q = new Query();
q.addCriteria(
Criteria.where("age").exists(true).andOperator(
Criteria.where("age").gt(10),
Criteria.where("age").lt(40)
)
);
我正在使用 MongoDB 和 Spring。我想通过_id查询数据库。
目前我有这个查询:
Query q = new Query(Criteria.where("_id").is(someId).and("deleted").is(false));
但这不知何故给了我 WhosebugError。这个查询有什么问题?或者更好的方法是什么?
使用 $and
运算符 Criteria.andOperator()
为所有提供的条件创建显式 AND 查询而不是链式查询,如下所示:
Query q = new Query(
new Criteria().andOperator(
Criteria.where("_id").is(someId),
Criteria.where("deleted").is("false")
)
);
这通常用于无法使用 Criteria.and()
将多个条件添加到同一字段的情况,例如
Query q = new Query();
q.addCriteria(Criteria.where("age").lt(40).and("age").gt(10));
会引发错误,因此解决方法是将 Criteria.andOperator()
用作
Query q = new Query();
q.addCriteria(
Criteria.where("age").exists(true).andOperator(
Criteria.where("age").gt(10),
Criteria.where("age").lt(40)
)
);