我必须在我的数据中填写学生,
"attendances" : [
{
"_id" : ObjectId("5851702b9accfc6e70d55107"),
"students" : [
{
"student" : ObjectId("5850e6d596d4de3c1f4a0614"),
"_id" : ObjectId("5851702b9accfc6e70d55109"),
"ispresent" : "No"
}, }]
我的架构,
attendances: [{
date: {
type: String,
default: ''
},
created_by: {
type: Schema.ObjectId,
ref: 'Employee'
},
students: [{
student: {
type: Schema.ObjectId,
ref: 'Student'
},
ispresent: {
type: String,
default: ''
}
}]
}],
Attendance.findById(id).populate('attendances.students')
我尝试了上述方法但失败了。任何人都可以建议帮助。谢谢。
答案 0 :(得分:0)
您可以通过点符号编写人口谓词,同时深入挖掘对象或数组以引用结束于Schema.Types.ObjectId
类型的另一个有效模式,因此根据您提到的模式,您将查询如下:
Attendance.findById(id).populate('attendances.students.student')