Java Spring MongoDB @查询与正则表达式

时间:2019-05-14 13:32:10

标签: regex spring mongodb

任何人都可以帮助我转换以下查询:

@Query("{$or:[{'name':?0},{'synonims':?0}]}")
Stream<Examination> customFind(String str);

使用正则表达式查询,根据Spring文档,该请求将允许不区分大小写的请求:

精确(不区分大小写){"firstname" : { $regex: /^firstname$/, $options: 'i'}}

以下操作无效:

@Query("{$or:[{'name':{ $regex: '/^?0$/', $options: 'i' }},{'synonims':{ $regex: '/^?0$/', $options: 'i' }}]}")

1 个答案:

答案 0 :(得分:0)

字符?是正则表达式中的特殊字符,表示可选,例如a?意味着a可能存在或不存在。

如果要匹配它,必须将其转义。

$regex: '/^\?0$/'

如果您需要按字面意义输入,则需要两个反斜杠:

$regex: '/^\\?0$/'