鉴于此文档结构(对象数组):
{
"_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)
但是在指定必须同时为真的两个元素级别标准时是否可以这样做?(即x和y)。我只见过一个例子,我似乎无法让它工作。也许这样的事情?:
coll.update( {'_id':'2', 'users.x':'2', 'users.y':'2'}, {$set:{'users.$':{"name":"blahblah",... }}}, false, true)
答案 0 :(得分:2)