我想在populate中创建一个填充
我的架构看起来像
//item schema
item {
name : String,
type : { type: mongoose.Schema.Types.ObjectId, ref: 'item_types' },
box : { type: mongoose.Schema.Types.ObjectId, ref: 'box' },
}
//box schema
box{
name : String,
department : [{ type: mongoose.Schema.Types.ObjectId, ref: 'departments' }],
type : [{ type: mongoose.Schema.Types.ObjectId, ref: 'types' }]
manufacturer : { type: mongoose.Schema.Types.ObjectId, ref: 'manufacturers' },
}
//departments schema
departments{
name : String
}
//types schema
types{
name : String
}
//item_types schema
item_types{
name : String
}
当我打电话时
item
.find()
.populate('type ', 'name')
.populate('box ', 'name')
.exec(function (err, item) {}
它的工作完美。但是,当我这样打电话时,它不会填充数据只显示ID
item
.find()
.populate('type ', 'name')
.populate('box ', 'name')
.populate('box.department ', 'name')
.exec(function (err, item) {}
如何做到这一点?
提前致谢 Babji
答案 0 :(得分:0)
我强烈推荐使用Mongoose插件&mongoose-deep-populate'。我在很多项目中都使用它,它可以轻松地处理这个问题。
使用示例和文档:https://github.com/buunguyen/mongoose-deep-populate/blob/master/README.md