how to aggregate array items based on a field(s) in array ?
Ex: from below document, sum of values with respective “name”.
[
{
“data”: [
{
“name”: “x”,
“value”: 5000
},
{
“name”: “y”,
“value”: 5000
},
{
“name”: “x”,
“value”: 1000
},
{
“name”: “z”,
“value”: 2000
},
{
“name”: “y”,
“value”: 3000
},
{
“name”: “x”,
“value”: 4500
}
]
},
{
“data”: [
{
“name”: “c”,
“value”: 5000
},
{
“name”: “b”,
“value”: 5000
},
{
“name”: “a”,
“value”: 5000
},
{
“name”: “b”,
“value”: 5000
},
{
“name”: “c”,
“value”: 5000
},
{
“name”: “b”,
“value”: 5000
},
{
“name”: “a”,
“value”: 5000
}
]
},
{
“data”: [
{
“name”: “s”,
“value”: 5100
},
{
“name”: “t”,
“value”: 1000
},
{
“name”: “r”,
“value”: 534
},
{
“name”: “t”,
“value”: 5300
},
{
“name”: “r”,
“value”: 10
},
{
“name”: “s”,
“value”: 67
},
{
“name”: “t”,
“value”: 890
}
]
}
]
expected output …
[
{
“data”: [
{
“name”: “x”,
“value”: 10500
},
{
“name”: “y”,
“value”: 8000
},
{
“name”: “z”,
“value”: 2000
}
]
},
{
“data”: [
{
“name”: “a”,
“value”: 10000
},
{
“name”: “b”,
“value”: 8500
},
{
“name”: “c”,
“value”: 5000
}
]
},
{
“data”: [
{
“name”: “s”,
“value”: 5167
},
{
“name”: “t”,
“value”: 7190
},
{
“name”: “r”,
“value”: 544
}
]
}
]