更新
要更新集合和文档,我们可以使用以下任何方法:
方法
- 更新()
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" }