我希望在Query注释中使用MongoRepository进行常规表达。到目前为止我发现的唯一信息是中文帖子,但没有解释它是如何工作的,我不确定我是否正在寻找。
@Query(“{'name':{'$ regex':?2,'$ options':'i'},sales':{'$ gte':?1,'$ lte':? 2 }}“) public Page findByNameAndAgeRange(String name,double ageFrom,double ageTo,Pageable page);
有人知道是否可以在查询中使用特定的正则表达式?
问候。
答案 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);