U moet de operator $ gebruiken om een subdocument in een array bij te werken
contacts.$
gebruiken zal mongoDB wijzen om het relevante subdocument bij te werken.
db.users.update({_id: ObjectId("5500b5b8908520754a8c2420"),
"contacts._id": ObjectId("550199c6fe544adf50bc291e")},
{"$set":{"contacts.$":myNewDocument}})
Ik weet niet zeker waarom je de _id
. wijzigt van het subdocument. Dat is niet aan te raden.
Als u een bepaald veld van het subdocument wilt wijzigen, gebruikt u de contacts.$.<field_name>
om het specifieke veld van het subdocument bij te werken.