所以基本上我想为我的用户模式创建一个搜索功能。我将根据用户的名字接收用户的查询,并返回相关用户。
例如:
query = "leonardo ", response = [" leonardo dicaprio",…]
我已经尝试使用文本索引,但由于这需要输入整个单词,它不适合我的约束,因为查询很可能是字符而不是整个单词.
所以本质上我希望使一个自动补全,根据用户的一些输入返回相关用户。
我怎样才能做到这一点?谢谢你!
正如Dov Rine和rajabraza在评论中所示,我可以简单地使用正则表达式来查找这样的实现。
代码:
const searchResults = await Users.find({ name: { $regex: `^${req.params.name}`, $options: 'i' } }).select(["name"]);