云主机测评网云主机测评网云主机测评网

云主机测评网
www.yunzhuji.net

Mongo中的foreach

MongoDB中的$forEach操作符用于遍历数组,并对数组中的每个元素执行指定的操作,它通常与$update操作一起使用,以便在更新文档时对数组中的每个元素执行操作。

(图片来源网络,侵删)

以下是一个简单的示例:

假设我们有一个名为students的集合,其中包含以下文档:

{
  "_id": 1,
  "name": "张三",
  "scores": [80, 90, 85]
},
{
  "_id": 2,
  "name": "李四",
  "scores": [70, 60, 75]
}

现在,我们想要将每个学生的分数提高10分,我们可以使用$forEach$update操作来实现这个目标:

db.students.updateMany(
  {},
  [
    {
      "$set": {
        "scores": {
          "$map": {
            "input": "$scores",
            "as": "score",
            "in": {
              "$add": ["$$score", 10]
            }
          }
        }
      }
    }
  ]
)

在这个示例中,我们首先使用$updateMany操作来匹配所有文档,我们使用$set操作来更新scores字段,接下来,我们使用$map操作符来遍历scores数组,并为每个元素应用一个表达式,在这个表达式中,我们使用$add操作符将当前分数($$score)加上10。

执行上述代码后,students集合中的文档将更新为:

{
  "_id": 1,
  "name": "张三",
  "scores": [90, 100, 95]
},
{
  "_id": 2,
  "name": "李四",
  "scores": [80, 70, 85]
}
打赏
版权声明:主机测评不销售、不代购、不提供任何支持,仅分享信息/测评(有时效性),自行辨别,请遵纪守法文明上网。
文章名称:《Mongo中的foreach》
文章链接:https://www.yunzhuji.net/jishujiaocheng/47088.html

评论

  • 验证码