替换数组中的值

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

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

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

你应该用这个:

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

这应该适合你

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

检查这篇文章以及使用c-driver通过索引更新mongo数组元素