Pas de $set
. toe operator samen met de $
positionele operator in uw update om de name
. te wijzigen veld.
De $
positionele operator identificeert het juiste element in de array om bij te werken zonder expliciet de positie van het element in de array op te geven, dus je uiteindelijke update-instructie zou er als volgt uit moeten zien:
db.collection.update(
{ "friends.u.username": "michael" },
{ "$set": { "friends.$.u.name": "hello" } }
)