我很新于MongoDb。因此,我的csv文件包含以下有关年度支出的数据。
{"Name": "Aruba",
"Code": "ABW",
"Type": "Country",
"IndicatorName": "Military_expenditure",
"1900": 0,
"1961": 1,
"1962": 0,
"1963": 0,
"1964": 0,
"1965": 0,
"1966": 0,
"1967": 0,
"1968": 0,
"1969": 0
}, {
"Name": "Afghanistan",
"Code": "AFG",
"Type": "Country",
"IndicatorName": "Military_expenditure",
"1900": 0,
"1961": 100,
"1962": 0,
"1963": 0,
"1964": 0,
"1965": 0,
"1966": 0,
"1967": 0,
"1968": 0,
"1969": 0
}
然而,我需要获取以下两项的总开销:
- 每年的总开销,即:
阿鲁巴=1 >> (1900=0 + 1961=1......+ 1969=0} 阿富汗 = 100 >> (1900=0 + 1961=100......+ 1969=0}
- 各个国家的总开销=101
阿鲁巴 (1900=0 + 1961=1......+ 1969=0} + 阿富汗(1900=0 + 1961=100......+ 1969=0}
请问是否有人可以帮忙在MongoDb中进行上述计算?
不过,我已经编写了查询以按年份获取总和。
db.MiltryExpenditure.aggregate([
{ $match: { "Type":"Country" } },
{$group:{_id : null,
1969: { $sum: { "$toDouble":"$1969" }}
, _id : null,
1960: { $sum: {
"$toDouble":"$1960" }},
}}
])
但我不知道如何获得各国的总和,以及是否有一种归一化方法来获得按国家划分的总和,如果有,那将不胜感激。
请帮忙……
"Name": "Afghanistan"
或"Name": "Aruba"
这样的内容? - whoami - fakeFaceTrueSoul