Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用MongooseAPI和nodejs搜索数据库?_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js 使用MongooseAPI和nodejs搜索数据库?

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个文档都有“面条”一词,

我正在使用nodejs和mongoose来构建一个api,我正在尝试搜索功能,但它似乎什么都没有查询,代码

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
文档如下所示。如果仍然不适合你,可能会发布一个新问题。