[英]Mongoose - Populate Object in Array
使用猫鼬如何填充数组中的单个对象?
例如:
var SchoolSchema = new Schema({
classes: [{
name: String
}]
});
var StudentSchema = new Schema({
allocated_class: {
type: ObjectId,
ref: 'School'
}
});
mongoose.model('School', SchoolSchema);
mongoose.model('Student', StudentSchema);
Student.find({}).populate("allocated_class").exec();
在上面的示例中,查找所有学生时如何填充一个班级的名称?
示例数据:
学生
{
"allocated_class" : ObjectId("561e36540fc3c18b749d65e1"),
}
学校
{
"_id" : ObjectId("561e36320fc3c18b749d65e0"),
"classes" : [
{
"name" : "Class 1",
"_id" : ObjectId("561e36540fc3c18b749d65e1")
}]
}
最终结果应该是用他们分配的班级名称填充的学生集合。
尝试这个
var StudentSchema = new Schema({
name:{type: String, unique: true},
allocated_class: [schoolSchema]
});
即使不是这样-您也应该更改架构。 一所学校有很多班,一个学生有很多班,所以(新)班级模式可能是学校和学生之间的联系。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.