如何运行MongoDB查询以仅更新特定字段值?

让我们看一个示例并创建包含文档的集合-

> db.demo557.insertOne({Name:"Chris"});{
   "acknowledged" : true, "insertedId" : ObjectId("5e8f28e954b4472ed3e8e864")
}
> db.demo557.insertOne({Name:"David"});{
   "acknowledged" : true, "insertedId" : ObjectId("5e8f28ee54b4472ed3e8e865")
}

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

> db.demo557.find();

这将产生以下输出-

{ "_id" : ObjectId("5e8f28e954b4472ed3e8e864"), "Name" : "Chris" }
{ "_id" : ObjectId("5e8f28ee54b4472ed3e8e865"), "Name" : "David" }

以下是仅更新特定字段值的查询-

> db.getCollection('demo557').update({Name:"Chris"},{$set:{Name:"Robert"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

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

> db.demo557.find();

这将产生以下输出-

{ "_id" : ObjectId("5e8f28e954b4472ed3e8e864"), "Name" : "Robert" }
{ "_id" : ObjectId("5e8f28ee54b4472ed3e8e865"), "Name" : "David" }