使用 MongoDB 执行多重原子更新?


对于多重原子更新,使用 update() 和 $set。我们创建一个带有文档的集合 −

> db.demo699.insertOne({Name:"Chris Brown"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea6e370551299a9f98c93a7")
}
> db.demo699.insertOne({Name:"David Miller"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea6e37a551299a9f98c93a8")
}
> db.demo699.insertOne({Name:"Chris Brown"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea6e381551299a9f98c93a9")
}
> db.demo699.insertOne({Name:"John Doe"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea6e38a551299a9f98c93aa")
}

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

> db.demo699.find();

这会产生以下输出 −

{ "_id" : ObjectId("5ea6e370551299a9f98c93a7"), "Name" : "Chris Brown" }
{ "_id" : ObjectId("5ea6e37a551299a9f98c93a8"), "Name" : "David Miller" }
{ "_id" : ObjectId("5ea6e381551299a9f98c93a9"), "Name" : "Chris Brown" }
{ "_id" : ObjectId("5ea6e38a551299a9f98c93aa"), "Name" : "John Doe" }

以下是使用 MongoDB 执行多重原子更新的查询 −

> db.demo699.update({Name:"Chris Brown"},{ $set : { Name: "Adam Smith"} }, false, true );
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })

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

> db.demo699.find();

这会产生以下输出 −

{ "_id" : ObjectId("5ea6e370551299a9f98c93a7"), "Name" : "Adam Smith" }
{ "_id" : ObjectId("5ea6e37a551299a9f98c93a8"), "Name" : "David Miller" }
{ "_id" : ObjectId("5ea6e381551299a9f98c93a9"), "Name" : "Adam Smith" }
{ "_id" : ObjectId("5ea6e38a551299a9f98c93aa"), "Name" : "John Doe" }

更新于: 2020 年 5 月 14 日

141 次浏览

开启您的 职业

完成课程认证

入门
广告
© . All rights reserved.