如何为学生David在MongoDB中使用标记值更新文档

使用forEach()和遍历查找学生姓名大卫为同一学生更新了新分数。让我们创建一个包含文档的集合-

> db.demo634.insertOne({Name:"Chris","Marks":76});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e9c0ea66c954c74be91e6c9")
}
> db.demo634.insertOne({Name:"Bob","Marks":67});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e9c0ead6c954c74be91e6ca")
}
> db.demo634.insertOne({Name:"David","Marks":37});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e9c0eb76c954c74be91e6cb")
}

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

> db.demo634.find();

这将产生以下输出-

{ "_id" : ObjectId("5e9c0ea66c954c74be91e6c9"), "Name" : "Chris", "Marks" : 76 }
{ "_id" : ObjectId("5e9c0ead6c954c74be91e6ca"), "Name" : "Bob", "Marks" : 67 }
{ "_id" : ObjectId("5e9c0eb76c954c74be91e6cb"), "Name" : "David", "Marks" : 37 }

以下是使用学生David的标记值更新文档的查询-

> db.demo634.find({Name:"David"}).forEach(function(d){ db.demo634.update({_id:d._id},{$set:{Marks:98}}); })

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

> db.demo634.find();

这将产生以下输出-

{ "_id" : ObjectId("5e9c0ea66c954c74be91e6c9"), "Name" : "Chris", "Marks" : 76 }
{ "_id" : ObjectId("5e9c0ead6c954c74be91e6ca"), "Name" : "Bob", "Marks" : 67 }
{ "_id" : ObjectId("5e9c0eb76c954c74be91e6cb"), "Name" : "David", "Marks" : 98 }