我正在尝试使用 spring Criteria 创建一个动态 mongoDB 查询。我的查询是:
Criteria.where(key1).is(value1).and(key2).is(value2)
键/值的数量不是固定的,但可以改变。
我尝试使用andOperator
,但不适合我的情况。
有人能帮我吗?
这篇文章解释了一个类似的问题: Spring Mongo criteria querying two same field
这就是你想要做的:
Criteria criteria = new Criteria().andOperator(
Criteria.where("key1").is(value1),
Criteria.where("key2").is(value2));
// to print the mongodb query for debug purposes
// System.out.println(criteria.getCriteriaObject());
// execute with a mongoTemplate
List<YourClass> documents = mongoTemplate.find(new Query(criteria), YourClass.class);