Трябва да използвате оператора $, за да актуализирате поддокумент в масив
Използване на contacts.$
ще посочи mongoDB да актуализира съответния поддокумент.
db.users.update({_id: ObjectId("5500b5b8908520754a8c2420"),
"contacts._id": ObjectId("550199c6fe544adf50bc291e")},
{"$set":{"contacts.$":myNewDocument}})
Не съм сигурен защо променяте _id
на поддокумента. Това не е препоръчително.
Ако искате да промените определено поле от поддокумента, използвайте contacts.$.<field_name>
за да актуализирате конкретното поле на поддокумента.