如何填充猫鼬模型中的字段?

时间:2016-01-19 18:03:01

标签: javascript node.js mongodb mongoose mongoose-populate

var posting = new Posting({
  content: fields.content,
  creator: req.user,
});

posting.save(function(err) {
  if(err) {
    res.status(501).json({ error: err });
  } else {
    res.json({ posting: posting });
  }
});

发布模型有creator字段,表示User模型的实例。保存后,{J}形式返回Post实例。但是,返回的Post实例不包含其User字段中相应creator对象的数据。它仅发送User实例的id值。

如何在发送回复之前填充creator字段?

1 个答案:

答案 0 :(得分:1)

您需要在.populate个实例上调用Posting模型的posting方法:

posting.save(function(err) {
  if(err) {
    res.status(501).json({ error: err });
  } else {
    // Populate the 'posting' object's 'creator' field.
    Posting.populate(posting, { path: 'creator', model: 'User' }, function (err, posting) {
      res.json({ posting: posting });
    });
  }
});