我有一个MongoDB集合,里面有两个文档,比如
{
"field1":"value1"
}
和
{
"field1":"value2"
"field2":"value1"
}
我想在我的Springboot微服务中检索这两个文档。
Query query = new Query(Criteria.where("field1").is("value1").orOperator(Criteria.where("field2").is("value1")))
List<Something> list = mongoTemplate.find(query, Something.class);
上面的代码返回一个空列表,而下面的代码返回第一个文档。
Query query = new Query(Criteria.where("field1").is("value1"))
List<Something> list = mongoTemplate.find(query, Something.class);
如何检索这两个文档?
您需要使用这样的语法,即类似orOperator(where1, where2)
而不是where1.orOperator(where2)
:
Criteria criteria1 = new Criteria();
criteria1.orOperator(
Criteria.where("dumEmployeeId").is(user.getId()),
Criteria.where("toDumEmployeeId").is(user.getId())).
andOperator(
new Criteria().orOperator(
Criteria.where("priority").is("Important"),
Criteria.where("priority").is("Urgent")
)
);