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" } }
)