在Mongoose中填充嵌套在对象数组中的文档可以通过使用populate方法来实现。populate方法可以将指定字段中的文档替换为其对应的完整文档。
具体步骤如下:
const mongoose = require('mongoose');
const childSchema = new mongoose.Schema({
name: String,
age: Number
});
const parentSchema = new mongoose.Schema({
children: [childSchema]
});
const Parent = mongoose.model('Parent', parentSchema);
const child1 = new Child({ name: 'Child 1', age: 10 });
const child2 = new Child({ name: 'Child 2', age: 12 });
const parent = new Parent({ children: [child1, child2] });
parent.save();
Parent.findOne({})
.populate('children')
.exec((err, parent) => {
if (err) {
console.error(err);
} else {
console.log(parent);
}
});
在上述代码中,populate方法接受一个参数,即要填充的字段名(在这里是'children')。执行populate后,Mongoose会自动查找并替换'children'字段中的文档为完整的子文档。
注意:在使用populate方法之前,需要确保已经正确地定义了子文档的模式和模型,并且父文档已经保存到数据库中。
推荐的腾讯云相关产品:腾讯云数据库 MongoDB,详情请参考腾讯云数据库 MongoDB。
领取专属 10元无门槛券
手把手带您无忧上云