更新
要更新集合和文件,我們可以使用以下任何方法:
方法
- 更新()
updateOne()
updateMany()
replaceOne()
更新()
update()
方法修改一個或多個文件(更新引數)
db.lights.update(
{ room: "Bedroom" },
{ status: "On" }
)
此操作在’lights’集合中搜尋 room
為 Bedroom (第一個引數) 的文件。然後它將匹配文件 status
屬性更新為 On (第二個引數) 並返回一個如下所示的 WriteResult 物件:
{ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }
UpdateOne
UpdateOne()
方法修改一個文件(更新引數)
db.countries.update(
{ country: "Sweden" },
{ capital: "Stockholm" }
)
此操作在’countries’集合中搜尋 country
為 Sweden 的文件 (第一個引數) 。然後它將匹配的文件屬性 capital
更新為 Stockholm (第二個引數) 並返回一個如下所示的 WriteResult 物件:
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
UpdateMany
UpdateMany()
方法修改多個文件(更新引數)
db.food.updateMany(
{ sold: { $lt: 10 } },
{ $set: { sold: 55 } }
)
通過將 sold
設定為 **55,**此操作更新 sold
小於 10 *(第一個引數)的所有文件 (在’food’集合中) 。然後它返回一個如下所示的 WriteResult 物件: **** ****
{ "acknowledged" : true, "matchedCount" : a, "modifiedCount" : b }
a =匹配文件
數 b =修改文件數
ReplaceOne
替換第一個匹配的文件(替換文件)
這個名為 countries 的示例集合包含 3 個文件:
{ "_id" : 1, "country" : "Sweden" }
{ "_id" : 2, "country" : "Norway" }
{ "_id" : 3, "country" : "Spain" }
以下操作用檔案 { country: "Finland" }
替換檔案 { country: "Spain" }
db.countries.replaceOne(
{ country: "Spain" },
{ country: "Finland" }
)
並返回:
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
示例集合國家現在包含:
{ "_id" : 1, "country" : "Sweden" }
{ "_id" : 2, "country" : "Norway" }
{ "_id" : 3, "country" : "Finland" }