I´m looking to use a regular expresion using MongoRepository inside a Query annotation. The only information that I found so far is a Chinese post but do not explain how make it works, and I´m not sure if is what I´m looking for.
@Query("{ 'name':{'$regex':?2,'$options':'i'}, sales': {'$gte':?1,'$lte':?2}}") public Page findByNameAndAgeRange(String name,double ageFrom,double ageTo,Pageable page);
Somebody know if it possible use a specific regex in the query?
Regards.
i toggles case insensitivity, and allows all letters in the pattern to match upper and lower cases.
Read more about $regex in MongoDB docs.
In your query it looks like you have mixed up something with parameters order (?2 in name regex). I believe it should be:
@Query("{ 'name':{$regex:?0,$options:'i'}, 'sales': {$gte:?1,$lte:?2}}")
public Page findByNameAndAgeRange(String name,double ageFrom,double ageTo,Pageable page);