如何构建搜索 API 以根据关键字查找特定公司?



我正在尝试使用node.js构建一个搜索api,以从MongoDB查询和获取数据以显示在iOS移动应用程序上。这是我到目前为止的代码。它返回数据库中的所有公司。我只希望它在邮递员上测试时返回最相关的公司?例如,当我在 url 末尾附加 Goo 时,它应该返回与其相关的所有公司,例如 google inc、google corp 和 goo

api.get('/search/:name',(req,res) => {
Company.find(req.params.name, (err, company) => {
if(err){
res.send(err);
}
res.json(company);
});
});

我的建议是使用正则表达式,所以它会是这样的:

api.get('/search/:name',(req,res) => {
Company.find({insert name of your field here: new RegExp('^' + req.params.name + '$', "i"), (err, company) => {
if(err){
res.send(err);
}
res.json(company);
});
});

但是您应该记住,当有人试图使用"*"和"?"等字符"转义"时,您应该涵盖这种情况,因为它们在 RegExp 中被视为"特殊"字符

最新更新