Node.js 使用MongooseAPI和nodejs搜索数据库?
我正在使用nodejs和mongoose来构建一个api,我正在尝试搜索功能,但它似乎什么都没有查询,代码Node.js 使用MongooseAPI和nodejs搜索数据库?,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我正在使用nodejs和mongoose来构建一个api,我正在尝试搜索功能,但它似乎什么都没有查询,代码 app.get('/search', function(req,res){ return Questions.find({text: "noodles"}, function(err,q){ return res.send(q); }); }); 它没有给我任何结果,我知道他们应该至少有4个来自此查询的结果,他们在问题数据库中的4个文档都有“面条”一词,
app.get('/search', function(req,res){
return Questions.find({text: "noodles"}, function(err,q){
return res.send(q);
});
});
它没有给我任何结果,我知道他们应该至少有4个来自此查询的结果,他们在问题数据库中的4个文档都有“面条”一词,数据库连接和我的节点服务器的一切都在工作,您的查询正在查找与
text
属性匹配的文档“面条”
完全正确。假设您试图查询text
属性仅包含“面条”
的文档,则应改用正则表达式:
app.get('/search', function(req,res){
var regex = new RegExp('noodles', 'i'); // 'i' makes it case insensitive
return Questions.find({text: regex}, function(err,q){
return res.send(q);
});
});
我如何发送
regex
作为api的参数,例如/search/regex
,谢谢我解决了这个问题,我只需要将regex作为参数发送,就像这样/search/:key
,然后在主体中只需要var regex=new RegExp(req.params.key,'i')代码>:)您也可以使用这样的查询/search/?q=key
然后var regex=new RegExp(req.query.q)代码>解决方案的thx。虽然“我”似乎不足以证明这一点sensitive@mdehghani嗯……显示i
选项的RegExp
文档如下所示。如果仍然不适合你,可能会发布一个新问题。