仅更新MongoDB中的单个文档

仅更新集合中的单个文档。使用updateOne()。首先让我们创建一个包含文档的集合-

> db.updateOneDemo.insertOne({"StudentId":1,"StudentFirstName":"Chris"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e06ed3725ddae1f53b621e8")
}
> db.updateOneDemo.insertOne({"StudentId":2,"StudentFirstName":"David"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e06ed3825ddae1f53b621e9")
}
> db.updateOneDemo.insertOne({"StudentId":1,"StudentFirstName":"Mike"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e06ed3825ddae1f53b621ea")
}

以下是在find()方法的帮助下显示集合中所有文档的查询-

> db.updateOneDemo.find();

这将产生以下输出-

{ "_id" : ObjectId("5e06ed3725ddae1f53b621e8"), "StudentId" : 1, "StudentFirstName" : "Chris" }
{ "_id" : ObjectId("5e06ed3825ddae1f53b621e9"), "StudentId" : 2, "StudentFirstName" : "David" }
{ "_id" : ObjectId("5e06ed3825ddae1f53b621ea"), "StudentId" : 1, "StudentFirstName" : "Mike" }

以下是在MongoDB中更新单个文档的查询-

> db.updateOneDemo.updateOne({},{$set:{"StudentFirstName": "Robert"}});
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }

由于文档现在已更新,因此再次使用find()方法显示集合中的所有文档-

> db.updateOneDemo.find();

这将产生以下输出-

{ "_id" : ObjectId("5e06ed3725ddae1f53b621e8"), "StudentId" : 1, "StudentFirstName" : "Robert" }
{ "_id" : ObjectId("5e06ed3825ddae1f53b621e9"), "StudentId" : 2, "StudentFirstName" : "David" }
{ "_id" : ObjectId("5e06ed3825ddae1f53b621ea"), "StudentId" : 1, "StudentFirstName" : "Mike" }