SpringBoot操作MongoDB时,对同一个字段设置多次条件

最近在做项目时,遇到以下下情况,SpringBoot操作MongoDB时,对同一个字段设置多次条件,导致报错,该如何处理?

在使用 Spring 操作 MongoDB 时,如果你需要对同一个字段设置多个条件,可以使用 Criteria 对象的 andOperator() 方法来组合多个条件。下面是一个示例:

import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;

// 创建一个 Query 对象
Query query = new Query();

// 创建多个条件
Criteria criteria1 = Criteria.where("field").is(value1);
Criteria criteria2 = Criteria.where("field").gt(value2);

// 使用 andOperator() 方法将多个条件组合起来
query.addCriteria(new Criteria().andOperator(criteria1, criteria2));

// 执行查询操作
List<Document> results = mongoTemplate.find(query, Document.class);

在上述示例中,我们首先创建了一个 Query 对象,并创建了两个 Criteria 对象来表示不同的条件。然后,通过 andOperator() 方法将两个条件进行逻辑与操作(即同时满足两个条件)。最后,我们将组合后的条件添加到 Query 对象中,并执行查询操作。

这样做可以避免报错,同时也满足了对同一个字段设置多个条件的需求。你可以根据具体的业务需求,灵活地组合多个条件来实现所需的查询操作。

PS:

andOperator()方法,参数也可以传一个 List,如下:

queryAll.addCriteria(new Criteria().andOperator(criteriaList)).with(sort);

猜你喜欢

转载自blog.csdn.net/JonTang/article/details/131480682