javascript - 如何填充 Mongoose 模型中的字段?

标签 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 模型的实例。 Post 实例保存后以 JSON 形式返回。但返回的 Post 实例在其 creator 字段中不包含相应 User 对象的数据。它仅发送 User 实例的 id 值。

如何在发送响应之前填充 creator 字段?

最佳答案

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

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 });
    });
  }
});

关于javascript - 如何填充 Mongoose 模型中的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34883889/

相关文章:

javascript - 如何为同一页面上的不同输入和文本区域设置动态字符计数器,每个输入和文本区域的最大长度不同?

javascript - 如何从jsgrid数据制作csv文件

javascript - Elem 匹配返回所有数据,而我只需要选定的数据

javascript - 使用node.js读写文件(JSON)

javascript - jqueryui如何设置可拖动对象的限制?

javascript - 一旦我将一个项目添加到我的数组中,我就无法从我的数组中删除一个项目

node.js - 如何从 Node 或 Express 设置 <meta> 标记的内容?

json - 推送到 openShift git 时找不到 metadata.json

mongodb - 从Elasticsearch河进口中排除mongodb字段

mysql - 无法附加 json 数据