MongoDB查询以更新所选字段

要更新所选字段,请UPDATE()在MongoDB中使用。$set用于设置新值。让我们创建一个包含文档的集合-

> db.demo352.insertOne({"Name":"Chris"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e55510af8647eb59e5620ba")
}
> db.demo352.insertOne({"Name":"David"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e55510ef8647eb59e5620bb")
}
> db.demo352.insertOne({"Name":"Bob"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e555112f8647eb59e5620bc")
}
> db.demo352.insertOne({"Name":"Mike"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e555115f8647eb59e5620bd")
}

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

> db.demo352.find();

这将产生以下输出-

{ "_id" : ObjectId("5e55510af8647eb59e5620ba"), "Name" : "Chris" }
{ "_id" : ObjectId("5e55510ef8647eb59e5620bb"), "Name" : "David" }
{ "_id" : ObjectId("5e555112f8647eb59e5620bc"), "Name" : "Bob" }
{ "_id" : ObjectId("5e555115f8647eb59e5620bd"), "Name" : "Mike" }

以下是仅更新所选字段的查询-

> db.demo352.update({Name:"David"},{$set:{"Name":"Robert"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

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

> db.demo352.find();

这将产生以下输出-

{ "_id" : ObjectId("5e55510af8647eb59e5620ba"), "Name" : "Chris" }
{ "_id" : ObjectId("5e55510ef8647eb59e5620bb"), "Name" : "Robert" }
{ "_id" : ObjectId("5e555112f8647eb59e5620bc"), "Name" : "Bob" }
{ "_id" : ObjectId("5e555115f8647eb59e5620bd"), "Name" : "Mike" }