如何在 forEach 循环中实现 MongoDB toLowerCase() 以更新学生姓名?


让我们首先创建一个集合,其中一个字段是 StudentName −

> db.lowerCaseDemo.insertOne({"StudentName":"JOHN SMith"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd9a86fb50a6c6dd317ad9f")
}
> db.lowerCaseDemo.insertOne({"StudentName":"CAROL TAYLor"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd9a88fb50a6c6dd317ada0")
}
> db.lowerCaseDemo.insertOne({"StudentName":"DAVID Miller"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd9a89fb50a6c6dd317ada1")
}

以下是使用 find() 方法从集合中显示所有文档的查询 −

> db.lowerCaseDemo.find().pretty();

这将生成以下输出 −

{
   "_id" : ObjectId("5cd9a86fb50a6c6dd317ad9f"),
   "StudentName" : "JOHN SMith"
}
{
   "_id" : ObjectId("5cd9a88fb50a6c6dd317ada0"),
   "StudentName" : "CAROL TAYLor"
}
{
   "_id" : ObjectId("5cd9a89fb50a6c6dd317ada1"),
   "StudentName" : "DAVID Miller"
}

以下是实现 toLowerCase() 的查询 −

> db.lowerCaseDemo.find({StudentName: { $exists: true}}).forEach(
   function(v) {
      v.StudentName = v.StudentName.toLowerCase();
      db.lowerCaseDemo.save(v);
   }
);

让我们再次检查所有文档 −

> db.lowerCaseDemo.find().pretty();

这将生成以下输出 −

{
   "_id" : ObjectId("5cd9a86fb50a6c6dd317ad9f"),
   "StudentName" : "john smith"
}
{
   "_id" : ObjectId("5cd9a88fb50a6c6dd317ada0"),
   "StudentName" : "carol taylor"
}
{
   "_id" : ObjectId("5cd9a89fb50a6c6dd317ada1"),
   "StudentName" : "david miller"
}

更新日期:2019-07-30

145 次浏览

开启你的 职业 生涯

完成课程以获得认证

开始学习
广告