使用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 }