Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.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 mongoose$match不会返回文档_Node.js_Mongodb_Mongoose_Match - Fatal编程技术网

Node.js mongoose$match不会返回文档

Node.js mongoose$match不会返回文档,node.js,mongodb,mongoose,match,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", "titl

我使用两种方法从我的收藏中检索文档,第一种是:

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
}
,, 对于另一个查询,我需要使用聚合和查询:

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

        ];
        Comments.aggregate(pipleline, function(err, rank){
                if(err) {
                    res.send("Error", String(err));
                }
                res.send(rank);
            });
返回[]-空数组。
有什么想法吗?

您可以使用mongoose提供的内置功能链接。除了match,它还有sort、project、group和其他一些我不知道的东西。更多信息


req.body.data的值是多少?数字,它与解析相关吗?检索req.body.data时,需要在那里设置一个值。使用console.log确保保存的是实际的nid。不,这不是问题,日志打印的是相同的内容。因此,如果硬编码值,仍然会得到一个空数组?
        Comments.aggregate().match({nid:req.body.data})
        .exec(function(err,rank){
            if(err) {
                res.send("Error", String(err));
            }
            res.send(rank);
        });