用于更新选定字段的 MongoDB 查询


要更新选定字段,请在 MongoDB 中使用 UPDATE()。$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" }

更新于: 2020 年 4 月 2 日

439 次浏览

开启你的职业

完成课程获得认证

开始
广告