Mongodb 猫鼬在短语中寻找准确的单词
现在,当我搜索文本时,它正在使用以下代码搜索每个字符:Mongodb 猫鼬在短语中寻找准确的单词,mongodb,mongoose,Mongodb,Mongoose,现在,当我搜索文本时,它正在使用以下代码搜索每个字符: model.find( { title: { $regex: /word/i } } ) 但结果就像“word”、“word123”或“333word3”,我只想要包含“word”单词的标题。例如:“这是一个单词”你没有排除你说的那些选项 您需要: 将正则表达式改为类似于/word/i的形式如果你想在单词周围加一个空格,请注意,如果像word-word2这样的组合是相关的,那么你也必须在你的正则表达式中说明它们 使用Mongo的选项,因此
model.find( { title: { $regex: /word/i } } )
但结果就像“word”、“word123”或“333word3”,我只想要包含“word”单词的标题。例如:“这是一个单词”你没有排除你说的那些选项
您需要:
/word/i
的形式如果你想在单词周围加一个空格,请注意,如果像word-word2这样的组合是相关的,那么你也必须在你的正则表达式中说明它们cars
这样的单词将变成car
,这意味着如果需要精确匹配,这可能不是最佳选择\bword\b
Model.find({
title: {
$regex: "\\bword\\b"
}
})
//or
Model.find({
title: /\bword\b/
})
如果要忽略以下情况:foo-word
,bar:word
,word-buz
,请使用以下选项:
Model.find({
title: {
$regex: "\\b(^|\\s|[^\\W])word(\\s|[^\\W]|$)\\b"
}
})
非常感谢,它很有效。非常感谢您的帮助,根据需要重新编写或编辑正则表达式看起来很复杂。您能推荐文档或来源来理解它吗?@slim-Sure,及;-)