您好,我正在尝试使用猫鼬进行文本搜索,但遇到了问题。 说我的数据库包含以下记录:
{
name: "Richard Michael Branson"
...
},
{
name: "Branson John"
...
}
{
name: "Richard Peters"
...
}
我为猫鼬模型创建了一个索引
personSchema.index({ name: 'text' });
这是我目前的搜索方式
const person = await Person.find({
$text: { $search: `"${req.body.name}"` },
});
如果我的req.body.name
是 Richard Branson ,我将收到包含 Richard 和 Branson 的所有结果所有这些都是因为我正在进行部分文本搜索。
将查询更改为全文搜索不会对 Richard Branson 产生任何结果。 在上面的示例中,如果我将 Richard Branson 作为搜索词,我希望只能与 Richard Michael Branson 取得记录。
任何帮助将不胜感激,谢谢。