用特定字符串更新 MongoDB 中某个字段的所有值?


若要更新所有值,使用 update() 并加上 multi:true。让我们创建一个包含文档的集合 -

> db.demo720.insertOne({"SubjectName":"MySQL"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eaae7ca43417811278f5883")
}
> db.demo720.insertOne({"SubjectName":"Java"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eaae7ce43417811278f5884")
}
> db.demo720.insertOne({"SubjectName":"C"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eaae7d143417811278f5885")
}
> db.demo720.insertOne({"SubjectName":"C++"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eaae7d543417811278f5886")
}

使用 find() 方法显示一个集合中的所有文档 -

> db.demo720.find();

这将生成以下输出 -

{ "_id" : ObjectId("5eaae7ca43417811278f5883"), "SubjectName" : "MySQL" }
{ "_id" : ObjectId("5eaae7ce43417811278f5884"), "SubjectName" : "Java" }
{ "_id" : ObjectId("5eaae7d143417811278f5885"), "SubjectName" : "C" }
{ "_id" : ObjectId("5eaae7d543417811278f5886"), "SubjectName" : "C++" }

以下查询将更新 “SubjectName” 字段的所有值 -

> db.demo720.update({},{$set:{SubjectName:"MongoDB"}},{multi:true});
WriteResult({ "nMatched" : 4, "nUpserted" : 0, "nModified" : 4 })

使用 find() 方法显示一个集合中的所有文档 -

> db.demo720.find();

这将生成以下输出 -

{ "_id" : ObjectId("5eaae7ca43417811278f5883"), "SubjectName" : "MongoDB" }
{ "_id" : ObjectId("5eaae7ce43417811278f5884"), "SubjectName" : "MongoDB" }
{ "_id" : ObjectId("5eaae7d143417811278f5885"), "SubjectName" : "MongoDB" }
{ "_id" : ObjectId("5eaae7d543417811278f5886"), "SubjectName" : "MongoDB" }

更新于: 15-5-2020

223 次浏览

启动您的 职业生涯

完成课程可获得认证

开始入门
广告