mongoose $ match不会返回文件

时间:2015-11-03 13:47:09

标签: node.js mongodb mongoose match

我使用两种方法从我的集合中检索文档,第一种:

db.comments.find({"nid" : "req.body.data"});

返回许多文档,如:

{
    "nid" : 20404,
    "_id" : ObjectId("5638ba331294943d3d0a092b"),
    "uid" : 1937,
    "posted" : ISODate("2015-11-03T13:44:19.811Z"),
    "text" : "txt",
    "title" : "Test nid 2",
    "stars" : 3,
    "__v" : 0
}

, 对于另一个查询,我需要使用aggregate和查询:

var pipleline = [
            {$match: {nid:req.body.data}}

        ];
        Comments.aggregate(pipleline, function(err, rank){
                if(err) {
                    res.send("Error", String(err));
                }
                res.send(rank);
            });

返回[] - 空数组。 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可以使用链接mongoose提供的内置功能。除了比赛之外,它还有排序,项目,小组和其他一些我不了解的其他人。更多信息here

        Comments.aggregate().match({nid:req.body.data})
        .exec(function(err,rank){
            if(err) {
                res.send("Error", String(err));
            }
            res.send(rank);
        });