在MongoDB中,db.collection.ipdate()和db.collection.save()方法都可以修改集合中已存在的文檔。db.collection.update()方法對修改提供額外的控制。例如,db.collectoin.update()修改已存在數據或一組匹配查詢條件的文檔。而db.collection.save()方法根據相同的_id替換一個已存在文檔。
使用update()方法修改多個文檔:
默認,update()方法更新一條滿足條件的文檔。調用方法時將multi選項設置為true可修改多個文檔。下面的例子修改所有type字段值為“book”的文檔的qty字段增加-1。例子中使用$inc,這是一個修改操作符變量。
復制代碼 代碼如下:
db.inventory.update(
{ type : "book" },
{ $inc : { qty : -1 } },
{ multi: true }
)
使用save()方法修改一個文檔:
save()方法替換一個已存在的文檔。使用save()方法替換一個文檔,方法通過_id字段匹配一個已存在文檔。下面的例子完全替換inventory集合中_id為10的文檔:
復制代碼 代碼如下:
db.inventory.save(
{
_id: 10,
type: "misc",
item: "placard"
}
)