我正在使用nodejs和mongoose构建一个api,我试图做搜索功能,但它似乎在查询任何东西,代码。
app.get('/search', function(req,res){
return Questions.find({text: "noodles"}, function(err,q){
return res.send(q);
});
});
它没有给我任何结果,我知道他们应该至少从这个查询得到4个结果,问题数据库中的4个文件用“noodles”这个词,一切正在处理数据库连接和我的节点服务器
答案 0 :(得分:13)
您的查询正在执行的是查找text
属性与"noodles"
完全匹配的文档。假设您正在尝试在某处查询text
属性只是包含 "noodles"
的文档,则应使用正则表达式:
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);
});
});