Wenden Sie $set
an -Operator zusammen mit $
Positionsoperator in Ihrem Update, um den name
zu ändern Feld.
Das $
Der Positionsoperator identifiziert das richtige Element im Array, das aktualisiert werden soll, ohne die Position des Elements im Array explizit anzugeben, daher sollte Ihre endgültige Update-Anweisung wie folgt aussehen:
db.collection.update(
{ "friends.u.username": "michael" },
{ "$set": { "friends.$.u.name": "hello" } }
)