如何在不替换现有字段的情况下更新MongoDB中的记录?

您可以为此使用$set运算符让我们首先创建一个包含文档的集合-

> db.updateRecordDemo.insertOne({"StudentName":"Larry"});

{

   "acknowledged" : true,

   "insertedId" : ObjectId("5cbd6f95de8cc557214c0e0a")

}

> db.updateRecordDemo.insertOne({"StudentName":"David"});

{

   "acknowledged" : true,

   "insertedId" : ObjectId("5cbd6f9cde8cc557214c0e0b")

}

> db.updateRecordDemo.insertOne({"StudentName":"Mike"});

{

   "acknowledged" : true,

   "insertedId" : ObjectId("5cbd6f9dde8cc557214c0e0c")

}

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

> db.updateRecordDemo.find().pretty();

这将产生以下输出-

{ "_id" : ObjectId("5cbd6f95de8cc557214c0e0a"), "StudentName" : "Larry" }

{ "_id" : ObjectId("5cbd6f9cde8cc557214c0e0b"), "StudentName" : "David" }

{ "_id" : ObjectId("5cbd6f9dde8cc557214c0e0c"), "StudentName" : "Mike" }

以下是在不替换现有字段的情况下更新MongoDB中的记录的查询-

> db.updateRecordDemo.update({"_id" :ObjectId("5cbd6f9cde8cc557214c0e0b") },{$set : {"StudentAge":24}});

   WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

让我们再次显示集合中的所有文档-

> db.updateRecordDemo.find().pretty();

这将产生以下输出-

{ "_id" : ObjectId("5cbd6f95de8cc557214c0e0a"), "StudentName" : "Larry" }

{

   "_id" : ObjectId("5cbd6f9cde8cc557214c0e0b"),

   "StudentName" : "David",

   "StudentAge" : 24

}

{ "_id" : ObjectId("5cbd6f9dde8cc557214c0e0c"), "StudentName" : "Mike" }

以上是 如何在不替换现有字段的情况下更新MongoDB中的记录? 的全部内容, 来源链接: utcz.com/z/327063.html

回到顶部