【问题标题】:mongoose query Regex with special characters猫鼬查询带有特殊字符的正则表达式
【发布时间】:2026-01-13 10:00:02
【问题描述】:

我想在文档中搜索具有“(”等特殊字符的值。 我在猫鼬中使用以下标准并获取匹配的名称,例如“abc (pvt) ltd”。

 var criteria = {};
 criteria.name = new RegExp(searchPrameters.name, "i");

【问题讨论】:

  • 您能否进一步解释什么不起作用,以及预期什么?
  • 当我搜索诸如“abc (pvt) ltd”之类的字符串时无法检索。即使它在数据库中。
  • 因为字符被解析为正则表达式。如果您想逐字搜索字符,请使用一些可以转义正则表达式的库。有很多。
  • 你能举个例子解释一下吗?

标签: node.js mongodb mongoose


【解决方案1】:

我找到了使用 string.replace() 函数替换括号的解决方案。

 searchPrameters.name = searchPrameters.name.replace('(','\\(');
 searchPrameters.name = searchPrameters.name.replace(')','\\)');

【讨论】:

    最近更新 更多