この文書構造 (オブジェクトの配列) を考えると:
{
"_id" : "2",
"users" : [{
"_id" : "1",
"x" : "1",
"y" : "2",
"name": "blah"
}, {
"_id" : "2",
"x" : "2",
"y" : "2",
"name": "blah"
}],
}
配列内の特定のドキュメントを置き換えるために、次のようなことができることを知っています。
coll.update( {'_id':'2', 'users._id':'2'}, {$set:{'users.$':{"name":"blahblah",... }}}, false, true)
しかし、両方とも true でなければならない 2 つの要素レベル基準を指定するときに、これを行うことは可能ですか? (つまり、x と y)。私はこれまでに 1 つの例しか見たことがありませんが、うまく機能していないようです。多分このような何か?:
coll.update( {'_id':'2', 'users.x':'2', 'users.y':'2'}, {$set:{'users.$':{"name":"blahblah",... }}}, false, true)