Mongodb数组元素更新之使用$定位数组第一个元素
    		       		warning:
    		            这篇文章距离上次修改已过425天,其中的内容可能已经有所变动。
    		        
        		                
                在MongoDB中,你可以使用$位置运算符来更新数组中的特定元素。$代表数组中匹配元素的第一个位置。
假设你有一个文档结构如下:
{
  "_id": ObjectId("5f50c31e1c4ae837d4a56a6a"),
  "items": ["apple", "banana", "cherry"]
}你想要更新items数组中的第一个元素("apple")为"orange",你可以使用以下更新操作:
db.collection.updateOne(
  { _id: ObjectId("5f50c31e1c4ae837d4a56a6a") },
  {
    $set: {
      "items.$": "orange"
    }
  }
);更新后的文档将会是:
{
  "_id": ObjectId("5f50c31e1c4ae837d4a56a6a"),
  "items": ["orange", "banana", "cherry"]
}请注意,如果数组中有多个相同的元素,$只会更新第一个匹配元素的位置。如果你想更新所有匹配的元素,你需要使用$[]运算符配合一个查询条件。
评论已关闭