在数组嵌套文档中填充查询 - mongoose

时间:2016-03-06 16:49:40

标签: node.js mongodb mongoose

我的输出位于下方图像

enter image description here

和我的填充查询

Post.findOne({_id:req.query.id}).
   populate('user').
   populate('comment').
   exec(function(err,docs){
       if(err){
           console.log(err);
       }
           console.log(docs);
       res.send(docs);
   });
});

如何在comments数组中获取用户对象数据?

1 个答案:

答案 0 :(得分:0)

以前用mongoose直接在查询中填充更深层填充对象的字段是不可能的,但是你总是可以通过将resultdocs传递给你内部的Comment.populate(comments, options, cb)方法(http://mongoosejs.com/docs/api.html#model_Model.populate)来使用手动填充。第一次回调。

对于较新的mongoose版本,您应该可以使用以下语法直接执行:

Post.
    find().
    populate({
        path: 'comment',
        populate: { 
            path: 'comments',
            populate: 'user' 
        }
    }
});