Aplique o
$set operador junto com o $ operador posicional em sua atualização para alterar o name campo. O
$ O operador posicional identificará o elemento correto na matriz a ser atualizado sem especificar explicitamente a posição do elemento na matriz, portanto, sua instrução de atualização final deve se parecer com:db.collection.update(
{ "friends.u.username": "michael" },
{ "$set": { "friends.$.u.name": "hello" } }
)