Database

[{"_id":"1","users":[{"_id":"id1","name":"name1"},{"_id":"id2","name":"name2"},{"_id":"id3","name":"name3"}]}]

Query

db.collection.update({"_id":{"$eq":"1"}},[{"$addFields":{"users":{"$map":{"input":"$users","as":"user","in":{"$reduce":{"input":[{"_id":"id1","name":"newName1"},{"_id":"id2","name":"newName2","family":"newFamily2"}],"initialValue":"$$user","in":{"$let":{"vars":{"old_user":"$$value","new_user":"$$this"},"in":{"$cond":[{"$eq":["$$old_user._id","$$new_user._id"]},{"$mergeObjects":["$$old_user","$$new_user"]},"$$old_user"]}}}}}}}}}])

Result