要仅更新一个文档,您需要使用来更新特定数据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 }