我的课程集合有这个嵌套架构,每个课程中有一个会话数组,每个会话中有一个学生数组,每个学生都是一个对象,由 userName 的属性和引用我的用户集合的 ObjectId 值和另一个属性组成名称包含一些数字的状态。
我想从会话的学生数组中删除一个学生对象及其 _id。
我知道可以展开数组来获取单个对象,但我需要一种巧妙的方法,例如使用 objectId 从数据库中删除对象,这样我们就不必指定路径,例如直接删除或修改嵌套子文档。
这是我的课程架构:
CourseSchema = new mongoose.Schema({
name:String,
sessions:[
{
date:Date,
students :[{
userName:{
type:mongoose.Schema.Types.ObjectId,
ref :'users'
},
status:Number
}]
}
]
})
Run Code Online (Sandbox Code Playgroud)