6
rowsレコードの配列の各フィールドに対して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)に更新します。
can't append to array using string field name [$]
私は運とかなり長い間試してみました:
db.mycollection.update({"uid":"ABCDEF"}, {$set:{"rows.$.status_id":1}},false,true)
は、しかし、私はエラーを取得:以下
は、私はそれが動作するはず想像する方法です。すべてのポインタ?
ありがとうございました。私はちょうどその後、配列を横断するだろうと思う。 – HGPB