如何使用NodeJS在MongoDB中执行文本搜索查询?



我有这样的文档

{ 
Name: "some data"
Another: " a lots of data in string"
Another: "string data here too
}

并有一个数组

Keyword = ["key1", "key2", .."keyn"]

我想运行一个查询,以便如果数组中的任何关键字与文档名称中的单词或另一个或任何其他字符串值匹配,它就会返回文档。不需要确切的单词。

如果值完全匹配$in我已经尝试过 b 返回结果 m。

我已经尝试了$search它不需要完全匹配,但它不接受数组作为参数。

是否有任何组合方法可以在没有精确字符串匹配的情况下将数组作为参数传递。

注意:不必匹配数组中的所有关键字。如果单个关键字匹配 。它应该返回结果。

谢谢。

您可能需要考虑将查询转换为正则表达式搜索:

https://docs.mongodb.com/manual/reference/operator/query/regex/

所以正则表达式查询将是:

{
Name: {
$regex: /(key1|key2|keyn)/
}
}

最新更新