I'm trying to figure out how can I push a new item into a deeply nested array in mongodb. Take this structure for example:
{
name : "high school",
departments : [
{
name : "math",
courses : [
{
name : "algebra",
lessons: [
{
name: "algebra 1a",
students: [
{
name: "Dave",
id : "123456"
},
{
name: "alex",
id: "987654"
}
]
}
]
}
]
}
]
}
I know that I should use $ when pushing into a nested array, like this:
db.schools.update({"departments.name":"math"},{$push:{"departments.$.courses":x}})
But when trying to access a deeper array it throws an error. How can I add a new lesson? or a new student?