使用 MongoDB 中的多参数更新多文档中的值?


你需要将 multi 设为 true。加入选项 multi − true 来更新所有匹配查询条件的文档。

让我们首先使用文档创建一个集合 −

> db.demo390.insertOne({"FirstName":"Chris"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e5d1f3a22064be7ab44e7fa")
}
> db.demo390.insertOne({"FirstName":"David"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e5d1f3e22064be7ab44e7fb")
}
> db.demo390.insertOne({"FirstName":"Bob"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e5d1f4122064be7ab44e7fc")
}
> db.demo390.insertOne({"FirstName":"Chris"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e5d1f4422064be7ab44e7fd")
}

使用 find() 方法显示集合中的所有文档 −

> db.demo390.find();

这将产生以下输出 −

{ "_id" : ObjectId("5e5d1f3a22064be7ab44e7fa"), "FirstName" : "Chris" }
{ "_id" : ObjectId("5e5d1f3e22064be7ab44e7fb"), "FirstName" : "David" }
{ "_id" : ObjectId("5e5d1f4122064be7ab44e7fc"), "FirstName" : "Bob" }
{ "_id" : ObjectId("5e5d1f4422064be7ab44e7fd"), "FirstName" : "Chris" }

以下是更新 multi − true 值的查询 −

> db.demo390.update({FirstName:"Chris"},{$set:{"FirstName":"John"}},{multi:true});
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })

使用 find() 方法显示集合中的所有文档 −

> db.demo390.find();

这将产生以下输出 −

{ "_id" : ObjectId("5e5d1f3a22064be7ab44e7fa"), "FirstName" : "John" }
{ "_id" : ObjectId("5e5d1f3e22064be7ab44e7fb"), "FirstName" : "David" }
{ "_id" : ObjectId("5e5d1f4122064be7ab44e7fc"), "FirstName" : "Bob" }
{ "_id" : ObjectId("5e5d1f4422064be7ab44e7fd"), "FirstName" : "John" }

更新于:02-Apr-2020

390 次浏览

启动你的 职业

完成课程认证

开始
广告