Zkuste použít $[]
ve vašem $addToSet
pro více polohových prvků
db.collection.update({},
{
$addToSet: {
"courses.$[c].semesters.$[s].subjects": {
"subject": "C++"
}
}
},
{
arrayFilters: [
{
"c.course": "Btech"
},
{
"s.sem": 1
}
]
})
Oficiální dokumentace pro identifikátor je $[]