spring MongoRepository查询正则表达式

时间:2013-05-24 07:26:25

标签: java spring-data spring-data-mongodb

我希望在Query注释中使用MongoRepository进行常规表达。到目前为止我发现的唯一信息是中文帖子,但没有解释它是如何工作的,我不确定我是否正在寻找。

@Query(“{'name':{'$ regex':?2,'$ options':'i'},sales':{'$ gte':?1,'$ lte':? 2 }}“) public Page findByNameAndAgeRange(String name,double ageFrom,double ageTo,Pageable page);

有人知道是否可以在查询中使用特定的正则表达式?

问候。

1 个答案:

答案 0 :(得分:11)

  

我切换不区分大小写,并允许模式中的所有字母匹配大小写。

MongoDB docs中详细了解$ regex。

在您的查询中,您看起来已经混淆了参数顺序(名称正则表达式中为?2)。我相信它应该是:

@Query("{ 'name':{$regex:?0,$options:'i'}, sales': {$gte:?1,$lte:?2}}") 
public Page findByNameAndAgeRange(String name,double ageFrom,double ageTo,Pageable page);