mongodb:如何按索引号更新数组元素

mongodb:如何按索引号更新数组元素,mongodb,Mongodb,假设您有这样的文档: { _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 } ] } 因此,如果您有\u id和索引号(比如:2)。现在,对于该索引,我想将x值更改为1。这在mongo中是可能的,还是我应该首先检索整个数组,更新特定值并

假设您有这样的文档:

{
    _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 }
    ]
}

因此,如果您有
\u id
和索引号(比如:2)。现在,对于该索引,我想将
x
值更改为1。这在mongo中是可能的,还是我应该首先检索整个数组,更新特定值并通过将其插回来更新整个数组?

您可以使用点符号通过其基于0的索引访问
更新中的特定数组元素:

//将a的第三个元素的x属性设置为1
update({u id:'sdfsd'},{$set:{'a.2.x':1}})