假设你有这样的文件:
{
_id: 'sdsdfsd',
a: [
{ x: 0, y: 0, z: 0 }
{ x: 0, y: 0, z: 0 }
{ x: 0, y: 0, z: 0 }
{ x: 0, y: 0, z: 0 }
]
}
所以,如果你有_id
和一个索引号(比如:2)。现在,对于该索引,我想将x
值更改为1.这是否可以在mongo中,或者我应该首先检索整个数组,更新特定值并通过插入更新整个数组?
答案 0 :(得分:3)
您可以使用点符号通过其基于0的索引访问update
中的特定数组元素:
// Set the x property of the third element of a to 1
db.test.update({_id: 'sdsdfsd'}, {$set: {'a.2.x': 1}})