Använd $set operatorn tillsammans med $ positionsoperator i din uppdatering för att ändra name fält.
$ positionsoperatorn kommer att identifiera det korrekta elementet i arrayen som ska uppdateras utan att explicit specificera elementets position i arrayen, så din slutliga uppdateringssats ska se ut så här:
db.collection.update(
{ "friends.u.username": "michael" },
{ "$set": { "friends.$.u.name": "hello" } }
)