Опитайте да използвате $[]
във вашия $addToSet
за множество позиционни елементи
db.collection.update({},
{
$addToSet: {
"courses.$[c].semesters.$[s].subjects": {
"subject": "C++"
}
}
},
{
arrayFilters: [
{
"c.course": "Btech"
},
{
"s.sem": 1
}
]
})
Официална документация за идентификатор е $[]