替换数组中的值

时间:2012-05-11 19:46:49

标签: c# mongodb

我使用的是Mongodb C#官方驱动程序。我想用一些其他值更改数组中的特定值。该数组包含值列表。例如。

{ 
   _id: id1,
   values: [23, 78, 20]
}

我想要假设用25替换23。 如果它是对的,我知道一个答案。 首先,我拉出那个元素,然后推动其他元素。但问题是,如果元素不存在,那么push也将插入元素。其次,它将改变位置并在最后插入元素。 请告诉我怎么做。

2 个答案:

答案 0 :(得分:5)

你应该用这个:

db.collection.update({_id: id1, values: 23}, {$set: {'values.$': 25}})

答案 1 :(得分:2)

这应该适合你

db.collection.update({ "_id" : id1 }, {$set: {"values.0": 23}});

也查看这篇文章 Update mongo array elements by index with c-driver