最近MongoDBを使い始めましたが、ドキュメント内の配列の更新について質問があります。私はこのような構造を手に入れました:
{
"_id" : ObjectId(),
"post" : "",
"comments" : [
{
"user" : "test",
"avatar" : "/static/avatars/asd.jpg",
"text" : "....."
}
{
"user" : "test",
"avatar" : "/static/avatars/asd.jpg",
"text" : "....."
}
{
"user" : "test",
"avatar" : "/static/avatars/asd.jpg",
"text" : "....."
}
...
]
}
次のクエリを実行しようとしています。
update({"comments.user":"test"},{$set:{"comments.$.avatar": "new_avatar.jpg"}},false,true)
問題は、すべてのドキュメントを更新することですが、すべてのドキュメントの最初の配列要素のみを更新します。すべての配列要素を更新する方法はありますか、それとも手動で更新する必要がありますか?ありがとう。