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] }
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。