如何在子文档中填充引用文档,这是我的架构:
var person = mongoose.Schema({
name: { type: [String], index: true },
career: [{
position: { type: mongoose.Schema.Types.ObjectId, ref: 'Orgchart' }
}]
};
var orgchart = mongoose.Schema({
name: { type: [String], index: true },
};
我尝试过这部分:
person.find({ _id: "12345" }).populate('orgchart').exec(function(err, data){
res.send(data);
});
当我使用
调用 Jade 模板时,出现错误无法读取未定义的属性“名称”
item.career._orgchart.name
最佳答案
您需要将要填充的字段的点符号路径名传递给 populate
调用:
person.find({ _id: "12345" }).populate('career.position').exec(function(err, data){
res.send(data);
});
不确定为什么您尝试使用 Jade 中的 _orgchart
访问此内容,因为它与 career
元素中的相同 position
字段将使用引用的 orgchart
文档填充的数组。
关于node.js - 如何填充子文档的引用 (Mongoose),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32921995/