Spring data mongo @Query with / or $regex 添加引号

Spring data mongo @Query with / or $regex add quotes

提问人:Gabriel García Garrido 提问时间:4/27/2021 最后编辑:marc_sGabriel García Garrido 更新时间:4/29/2021 访问量:150

问:

我正在使用带有 spring data mongo 和 @Query 的 spring boot 来执行正则表达式查询,也使用拼写。

在我的文档中,我有这样的东西

enter image description here

我希望能够根据语言按预测字符串进行过滤(不要担心语言,我的主要问题在正则表达式中)

@Query(
      "{$and: [ ?#{ ([6] == null) ? { $expr : 'true'} : { 'translations' : {$elemMatch: { 'language' : [7], 'description' : {$regex : [6]} } } }}]}")
  public List<MyObject> findByCatalog(
      String predictive,
      String locale);

主要问题是正则表达式不起作用,因为我正在向预测字符串添加 // 并且它正在添加额外的引号,这些引号总是不返回我任何内容。

有什么解决办法吗?我尝试了不同的东西,我很绝望,请避免说更改为 mongo 模板,因为实际上查询比这更大。

提前致谢

正则表达式 spring-boot spring-data-mongodb 引用 MQL

评论


答:

0赞 Gabriel García Garrido 4/29/2021 #1

解决方案是 tu use .而不是 // 它工作得很好