Spring data mongodb Spring数据MongoDB-标准API或运算符工作不正常

Spring data mongodb Spring数据MongoDB-标准API或运算符工作不正常,spring-data-mongodb,Spring Data Mongodb,我面临着SpringDataMongoDB标准API或运算符的问题 以下是不规则动词的查询结果:(终端输出) 我使用Spring Data MongoDB Criteria API通过动词的v1或v2值查询动词: Criteria criteriaV1 = Criteria.where("v1").is(verb); Criteria criteriaV2 = Criteria.where("v2").is(verb); Query query = new Query(criteriaV1.or

我面临着SpringDataMongoDB标准API
或运算符的问题

以下是不规则动词的查询结果:(终端输出

我使用Spring Data MongoDB Criteria API通过动词的
v1
v2
值查询动词:

Criteria criteriaV1 = Criteria.where("v1").is(verb);
Criteria criteriaV2 = Criteria.where("v2").is(verb);
Query query = new Query(criteriaV1.orOperator(criteriaV2));
List<Verb> verbList = mongoTemplate.find(query, Verb.class)
criteriaV1=标准,其中(“v1”)是(动词);
criteriaV2=Criteria.where(“v2”)是(动词);
Query Query=新查询(criteriaV1.orOperator(criteriaV2));
List verbList=mongoTemplate.find(查询,Verb.class)

但不幸的是,
verbList
没有任何项目。

据我所知,要使用orOperator,您应该执行以下操作:

Query query = new Query(new Criteria().orOperator(criteriaV1,criteriaV2));
Query Query=新查询(new Criteria().orOperator(criteriaV1,criteriaV2)) 我们需要使用或条件显式指定一个新标准-请使用下面的示例进行尝试

Criteria criteria = Criteria.where("field1").is(val1).
                .andOperator(new Criteria().orOperator(Criteria.where("field2").is(filterVal),
                        Criteria.where("field3").is(filterVal)));

谢谢你的帮助;在检查应用程序日志之后,我看到第一个参数被用作和条件。因此,解决方案是使用您编写的新的条件实例,或者添加一个始终为真的条件。我们如何使用多个or运算符来搜索多个条件?运算符方法可以使用任意数量的参数
Criteria criteria = Criteria.where("field1").is(val1).
                .andOperator(new Criteria().orOperator(Criteria.where("field2").is(filterVal),
                        Criteria.where("field3").is(filterVal)));