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