替换数组中的值
我正在使用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数组元素