行我正在尝试对记录数组中的每个字段执行 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)
但是我得到了错误:
无法使用字符串字段名称 [$] 附加到数组
我已经尝试了很长一段时间没有运气。任何指针?