您好,我正在尝试为社交媒体应用程序构建搜索系统,人们可以在其中找到用户,但我希望它是,如果用户输入单词,搜索就会开始,并且用户输入的单词越多,输入的内容就越多搜索变得更好。例如,如果我键入p ...数据库显示了所有以p开头的用户,那么如果我键入db,则显示了所有以pa开头的用户...依此类推,是否有这样的方法猫鼬还是我必须使用前端来实现这一点..btw im使用react
答案 0 :(得分:0)
您可能可以编写mongo regex查询来完成此操作!
db.getCollection('fruits').find({'fruit_name': { $regex: 'Apple', $options: 'i'}})
选项i
执行不区分大小写的搜索。在输入搜索字段的每个onChange上调用搜索端点。
答案 1 :(得分:0)
我将解决方案分为两部分:
前端:
您可以将数据作为查询字符串发送,例如:
用户类型:p ..,请求必须是这样的:
let search='p..';
example.com?search=search
后端: link展示了如何读取查询字符串;
现在,我将使用此查询在我的mongo集合中查找结果 例子:
var query = url_parts.query // my-query;
db.users.find({"name": /.*query.*/})
注意:我想您对HTTP REQUESTS和NodeJ有所了解,可以理解我说的话