仅更新 MongoDB 文档中的特定值


要仅更新一个特定值,请使用 update(),并在其中使用 $set 来设置新值。让我们创建一个包含文档的集合 -

> db.demo201.insertOne({"ClientName":"Chris Brown","ClientAge":26});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3c39ca03d395bdc21346e5")
}
> db.demo201.insertOne({"ClientName":"David Miller","ClientAge":35});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3c39d403d395bdc21346e6")
}
> db.demo201.insertOne({"ClientName":"Carol Taylor","ClientAge":28});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3c39e603d395bdc21346e7")
}

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

> db.demo201.find();

这将产生以下输出 -

{ "_id" : ObjectId("5e3c39ca03d395bdc21346e5"), "ClientName" : "Chris Brown", "ClientAge" : 26 }
{ "_id" : ObjectId("5e3c39d403d395bdc21346e6"), "ClientName" : "David Miller", "ClientAge" : 35 }
{ "_id" : ObjectId("5e3c39e603d395bdc21346e7"), "ClientName" : "Carol Taylor", "ClientAge" : 28 }

以下是更新 MongoDB 的查询 -

> db.demo201.update({"ClientAge":35},{$set:{"ClientName":"John Doe"}},{multi:true});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

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

> db.demo201.find();

这将产生以下输出 -

{ "_id" : ObjectId("5e3c39ca03d395bdc21346e5"), "ClientName" : "Chris Brown", "ClientAge" : 26 }
{ "_id" : ObjectId("5e3c39d403d395bdc21346e6"), "ClientName" : "John Doe", "ClientAge" : 35 }
{ "_id" : ObjectId("5e3c39e603d395bdc21346e7"), "ClientName" : "Carol Taylor", "ClientAge" : 28 }

更新时间: 2020-03-27

207 次浏览

开启你的 职业 生涯

通过完成课程获得认证

开始
广告