我最近开始使用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)
问题在于它更新了所有文档,但只更新了每个文档中的第一个数组元素。有没有办法更新所有数组元素,或者我应该尝试手动更新?谢谢。