$set
を適用します 演算子と$
name
を変更するための更新の位置演算子 分野。
$
位置演算子は、配列内の要素の位置を明示的に指定せずに、更新する配列内の正しい要素を識別します。したがって、最終的な更新ステートメントは次のようになります。
db.collection.update(
{ "friends.u.username": "michael" },
{ "$set": { "friends.$.u.name": "hello" } }
)