[英]MongoDB MapReduce - How to populate an array in reduce function?
[英]How write get sum of array with mapReduce MongoDB?
給定以下數據庫模式:
{
'_id': 5079,
'name': 'Lincoln County',
'state': 'AR',
'population': 13024,
'cases': [{'date': '2020-03-16', 'count': 1}, {'date': '2020-03-22', 'count': 1},
{'date': '2020-03-24', 'count': 1}, {'date': '2020-03-26', 'count': 2}],
'deaths': [{'date': '2020-03-27', 'count': 1}, {'date': '2020-04-02', 'count': 1},
{'date': '2020-05-28', 'count': 2}, {'date': '2020-05-30', 'count': 1}]
}
MongoDB mapReduce function 將生成每個州的 covid19 病例總數的集合。 為每個 state 及其 2 個字母的縮寫和所有 covid 案例生成一條記錄?
試試這個查詢:
db.collection.aggregate([
{
"$project": {
"total": {
"$sum": {
"$map": {
"input": "$cases",
"as": "c",
"in": "$$c.count"
}
}
},
"state": 1
}
}
])
這里的例子
該查詢使用$map
創建一個包含來自cases.count
的值的數組,然后$sum
這些值。
此外,字段輸出是count
,其中包含$sum
和 state 使用state: 1
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.