mongoDB/mongoose:文本搜索不工作的搜索两个或更少的字符



我有一个模型,我想用mongoose执行文本搜索。

let models = await MyModel.find({$text: {$search: '"go"'}});

然而,我注意到当我搜索两个或更少字符的字符串时,没有返回结果。

如何搜索包含两个或更少字符的字符串?

您可以尝试使用aggregate查询和RegEx,如下所示:

let searchText = "go";
searchText = new RegExp(searchText, "i");
let models = await MyModel.aggregate([ {$match: {"text": { $regex: searchText}}} ])

这里的text是将应用搜索的字段。您可以添加$or条件以在多个字段中搜索。

最新更新