如何填充 mongoose 模型中的字段?
How do I populate a field in a mongoose model?
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 });
});
}
});
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 });
});
}
});