Sie müssen den $-Operator verwenden, um ein Filialdokument in einem Array zu aktualisieren
Verwendung von contacts.$
weist MongoDB darauf hin, das relevante Unterdokument zu aktualisieren.
db.users.update({_id: ObjectId("5500b5b8908520754a8c2420"),
"contacts._id": ObjectId("550199c6fe544adf50bc291e")},
{"$set":{"contacts.$":myNewDocument}})
Ich bin mir nicht sicher, warum Sie die _id
ändern des Unterdokuments. Das ist nicht ratsam.
Wenn Sie ein bestimmtes Feld des Filialdokuments ändern möchten, verwenden Sie den contacts.$.<field_name>
um das bestimmte Feld des Unterdokuments zu aktualisieren.