Elisabeth T
Elisabeth T

Reputation: 21

Spring Mongo criteria problems with andOperator

I'm trying to create a dynamic mongoDB query using spring Criteria. My query is :

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

The numbers of key/value is not fixed but can change.

I try to use andOperator but it's not for my case.

Can someone help me?

Upvotes: 2

Views: 7666

Answers (1)

Matthias B
Matthias B

Reputation: 5577

This post explains a similara problem: Spring Mongo criteria querying twice the same field

This is what you want to do:

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);

Upvotes: 9

Related Questions