【问题标题】:How to create search/autocomplete functionality using mongodb and expressjs?如何使用 mongodb 和 expressjs 创建搜索/自动完成功能?
【发布时间】:2021-12-06 23:31:43
【问题描述】:

所以基本上我想为我的用户架构创建一个搜索功能。我会根据用户的姓名查询用户并返回相关用户。

例如:

query = "leo", response = ["leonel messi", "leonardo dicaprio", ...]

我已经尝试过使用文本索引,但由于这需要输入整个单词,因此它不符合我的限制条件,因为查询很可能是字符而不是整个单词

所以本质上,我希望创建一个自动完成功能,根据用户的一些输入返回相关用户。

我怎么能做到这一点?谢谢!

【问题讨论】:

标签: javascript typescript mongodb express mongoose


【解决方案1】:

正如 Dov Rine 和 rajabraza 在 cmets 中所展示的,我可以简单地使用正则表达式来查找进行这样的实现。

代码:

const searchResults = await Users.find({ name: { $regex: `^${req.params.name}`, $options: 'i' } }).select(["name"]);

【讨论】:

    猜你喜欢
    • 2015-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-24
    • 2012-06-16
    • 2018-05-30
    • 2015-07-20
    • 2016-11-10
    相关资源
    最近更新 更多