Du skal bruge operatoren $ til at opdatere et underdokument i et array
Brug af contacts.$
vil pege mongoDB for at opdatere det relevante underdokument.
db.users.update({_id: ObjectId("5500b5b8908520754a8c2420"),
"contacts._id": ObjectId("550199c6fe544adf50bc291e")},
{"$set":{"contacts.$":myNewDocument}})
Jeg er ikke sikker på, hvorfor du ændrer _id
af underdokumentet. Det er ikke tilrådeligt.
Hvis du vil ændre et bestemt felt i underdokumentet, skal du bruge contacts.$.<field_name>
for at opdatere det særlige felt i underdokumentet.