在更新中将$set操作符与$位置操作符一起应用以更改name字段.
$set
$
name
该$位置操作者将确定正确的元素数组中没有明确指定数组中元素的位置更新,因此您的最终更新语句应该是这样的:
db.collection.update( { "friends.u.username": "michael" }, { "$set": { "friends.$.u.name": "hello" } } )