在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" }