逐字母查询猫鼬

时间:2020-06-23 09:24:09

标签: node.js reactjs mongodb mongoose

您好,我正在尝试为社交媒体应用程序构建搜索系统,人们可以在其中找到用户,但我希望它是,如果用户输入单词,搜索就会开始,并且用户输入的单词越多,输入的内容就越多搜索变得更好。例如,如果我键入p ...数据库显示了所有以p开头的用户,那么如果我键入db,则显示了所有以pa开头的用户...依此类推,是否有这样的方法猫鼬还是我必须使用前端来实现这一点..btw im使用react

2 个答案:

答案 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有所了解,可以理解我说的话