仅更新一个MongoDB文档,而不删除任何日期

要仅更新一个文档,您需要使用来更新特定数据updateOne()。将updateOne()用于更新基于过滤器的集合中的单个文件。

让我们创建一个包含文档的集合-

> db.demo495.insertOne({"FirstName":"Chris","Age":19});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e84adfeb0f3fa88e22790ca")
}
> db.demo495.insertOne({"FirstName":"David","Age":21});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e84ae05b0f3fa88e22790cb")
}
> db.demo495.insertOne({"FirstName":"Bob","Age":26});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e84ae0eb0f3fa88e22790cc")
}
> db.demo495.insertOne({"FirstName":"John","Age":22});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e84ae15b0f3fa88e22790cd")
}

find()方法的帮助下显示集合中的所有文档-

> db.demo495.find();

这将产生以下输出-

{ "_id" : ObjectId("5e84adfeb0f3fa88e22790ca"), "FirstName" : "Chris", "Age" : 19 }
{ "_id" : ObjectId("5e84ae05b0f3fa88e22790cb"), "FirstName" : "David", "Age" : 21 }
{ "_id" : ObjectId("5e84ae0eb0f3fa88e22790cc"), "FirstName" : "Bob", "Age" : 26 }
{ "_id" : ObjectId("5e84ae15b0f3fa88e22790cd"), "FirstName" : "John", "Age" : 22 }

以下是updateOne()仅使用和更新单个文档的查询-

> db.demo495.updateOne({"FirstName":"David"},{$set: {"Age":23} });
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }

find()方法的帮助下显示集合中的所有文档-

> db.demo495.find();

这将产生以下输出-

{ "_id" : ObjectId("5e84adfeb0f3fa88e22790ca"), "FirstName" : "Chris", "Age" : 19 }
{ "_id" : ObjectId("5e84ae05b0f3fa88e22790cb"), "FirstName" : "David", "Age" : 23 }
{ "_id" : ObjectId("5e84ae0eb0f3fa88e22790cc"), "FirstName" : "Bob", "Age" : 26 }
{ "_id" : ObjectId("5e84ae15b0f3fa88e22790cd"), "FirstName" : "John", "Age" : 22 }