2
是否可以使用$ update和$ elemMatch更新Level3數組中的單個文檔字段?我意識到我不能多次使用位置操作符給定這種情況,並且歷史上我修改了Level2嵌套文檔,因爲這些文檔不是很大,所以需要進行更深層的更改。我希望有一些語法可以使用$ elemMatch更新Level3數組文件,而無需知道Level3數組中的目標文檔的位置或包含Level2中的文檔。MongoDB 2.2 - 更新數組嵌套文檔
例子:
db.collection.update({_id:'123', level2:{$elemMatch:{'level3.id':'bbb','level3.e1':'hij'}},{'level2.level3.createdDate':new Date()})
{
_id:'123',
f1:'abc',
f2:'def',
level2:[
{_
id:'aaa',
e1:'hij',
e2:'lmo'
level3:[
{
name:'foo',
type:'bar',
createdDate:'2013-3-28T05:18:00'
}]
},
{_
id:'bbb',
e1:'hij',
e2:'lmo'
level3:[
{
name:'foo2',
type:'bar2',
createdDate:'2013-3-28T05:19:00'
}]
}
]
}
+1,也可以使用一些幫助 –