MongoDB查找包含括号的字符串



我正在从Node.js Express API查询MongoDB。我正在尝试查找一行,其中字段当前框.profile.description为"(THE"。使用以下代码。它不起作用。我像使用/一样使用正则表达式。这也无济于事

db.getCollection('content'(.find({'currentBox.profile.description': '(该'}(。

有什么想法吗?

尝试使用 $regex 运算符并使用双反斜杠转义括号:

db.content.find({ 'currentBox.profile.description': { $regex: '\(The' } });

当您尝试使用正则表达式时,您是否包含$regex运算符并确保使用反斜杠转义左括号?

下面的代码应该可以解决问题。

编辑:$regex字符串中的反斜杠字符 \ 必须自行转义。这是因为JavaScript解析器首先使用它,然后MongoDB的正则表达式解析器才能看到它。因此是双反斜杠。

db.getCollection("content").find(
  { "currentBox.profile.description": { $regex: /\(THE/, $options: "i" } }
)

我正在使用 $options 运算符使匹配不区分大小写,因为从您的帖子中不清楚您是在搜索"(THE"还是"(The"

相关内容

  • 没有找到相关文章

最新更新