新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Mongo中的foreach
MongoDB中的$forEach操作符用于遍歷數(shù)組,并對數(shù)組中的每個元素執(zhí)行指定的操作,它通常與$update操作一起使用,以便在更新文檔時對數(shù)組中的每個元素執(zhí)行操作。

創(chuàng)新互聯(lián)公司主營丁青網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,APP應(yīng)用開發(fā),丁青h5微信小程序開發(fā)搭建,丁青網(wǎng)站營銷推廣歡迎丁青等地區(qū)企業(yè)咨詢
以下是一個簡單的示例:
假設(shè)我們有一個名為students的集合,其中包含以下文檔:
{
"_id": 1,
"name": "張三",
"scores": [80, 90, 85]
},
{
"_id": 2,
"name": "李四",
"scores": [70, 60, 75]
}
現(xiàn)在,我們想要將每個學(xué)生的分數(shù)提高10分,我們可以使用$forEach和$update操作來實現(xiàn)這個目標(biāo):
db.students.updateMany(
{},
[
{
"$set": {
"scores": {
"$map": {
"input": "$scores",
"as": "score",
"in": {
"$add": ["$$score", 10]
}
}
}
}
}
]
)
在這個示例中,我們首先使用$updateMany操作來匹配所有文檔,我們使用$set操作來更新scores字段,接下來,我們使用$map操作符來遍歷scores數(shù)組,并為每個元素應(yīng)用一個表達式,在這個表達式中,我們使用$add操作符將當(dāng)前分數(shù)($$score)加上10。
執(zhí)行上述代碼后,students集合中的文檔將更新為:
{
"_id": 1,
"name": "張三",
"scores": [90, 100, 95]
},
{
"_id": 2,
"name": "李四",
"scores": [80, 70, 85]
}
網(wǎng)頁標(biāo)題:Mongo中的foreach
網(wǎng)頁URL:http://www.dlmjj.cn/article/cocjchh.html


咨詢
建站咨詢
