7

我使用nodejs和mongoose构建一个api,我试图做搜索功能,但它似乎没有查询任何东西,代码。

app.get('/search', function(req,res){
    return Questions.find({text: "noodles"}, function(err,q){
        return res.send(q);

    });
});

它没有给我任何结果,我知道他们应该至少有 4 个来自这个查询的结果,他们的 4 个文档在问题数据库中带有“noodles”这个词,一切都在数据库连接和我的节点服务器上工作

4

1 回答 1

15

您的查询正在做的是查找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);
    });
});
于 2012-08-16T04:13:40.813 回答