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

时间:2014-05-08 16:24:29

标签: 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 }
    ]
}

所以,如果你有_id和一个索引号(比如:2)。现在,对于该索引,我想将x值更改为1.这是否可以在mongo中,或者我应该首先检索整个数组,更新特定值并通过插入更新整个数组?

1 个答案:

答案 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}})