我正在使用 Mongodb C# 官方驱动程序。我想用其他值更改数组中的特定值。该数组包含值列表。例如。
{
_id: id1,
values: [23, 78, 20]
}
我想用 25 替换 23。如果它是正确的,我知道一个答案。首先我拉那个元素,然后推另一个。但问题是如果元素不存在,那么 push 也会插入元素。其次,它会改变位置并在最后插入元素。请告诉我该怎么做。
你应该使用这个:
db.collection.update({_id: id1, values: 23}, {$set: {'values.$': 25}})
这应该对你有用
db.collection.update({ "_id" : id1 }, {$set: {"values.0": 23}});
也检查这篇文章 使用 c-driver 按索引更新 mongo 数组元素