Intenta usar $[]
en tu $addToSet
para elemento posicional múltiple
db.collection.update({},
{
$addToSet: {
"courses.$[c].semesters.$[s].subjects": {
"subject": "C++"
}
}
},
{
arrayFilters: [
{
"c.course": "Btech"
},
{
"s.sem": 1
}
]
})
Documentación oficial para el identificador es $[]