rowsI在尝试中的记录的阵列上的每个字段进行更新的mongodb。
一个例子的模式如下:
{
"_id" : ObjectId("508710f16dc636ec07000022"),
"summary" : "",
"uid" : "ABCDEF",
"username" : "bigcheese",
"name" : "Name of this document",
"status_id" : 0,
"rows" : [
{
"score" : 12,
"status_id" : 0,
"uid" : 1
},
{
"score" : 51,
"status_id" : 0,
"uid" : 2
}
]
}
到目前为止,我已经能够执行这样的单一的更新:
db.mycollection.update({"uid":"ABCDEF","rows.uid":1}, {$set:{"rows.$.status_id":1}},false,false)
不过,我奋力至于如何执行,将更新所有阵列记录到的更新status_id
1(例如)。
下面是我想象它应该工作:
db.mycollection.update({"uid":"ABCDEF"}, {$set:{"rows.$.status_id":1}},false,true)
但是我得到的错误:
使用不能追加到字符串数组字段名称[$]
我已经试过了,没有运气好一阵子。 任何指针?