1

我正在尝试使用 spring Criteria 创建一个动态 mongoDB 查询。我的查询是:

Criteria.where(key1).is(value1).and(key2).is(value2)

键/值的数量不是固定的,但可以改变。

我尝试使用andOperator,但不适合我的情况。

有人能帮我吗?

4

1 回答 1

8

这篇文章解释了一个类似的问题: 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);
于 2013-01-28T13:36:57.833 回答