我有一个集合,其中包含以下文档:文档1:
{
"company": "ABC"
"application": {
"app-1": {"earning_from_src_A": 50,
"earning_from_src_B": 43},
"app-2": {"earning_from_src_A": 10,
"earning_from_src_B": 13}
}
}
文件2:
{
"company": "ABCD"
"application": {
"app-1": {"earning_from_src_A": 150,
"earning_from_src_B": 413},
"app-2": {"earning_from_src_A": 110,
"earning_from_src_B": 113},
"app-3": {"earning_from_src_A": 1,
"earning_from_src_B": 34},
}
}
我想在整个收集文件中获得应用程序的总和 . 喜欢:结果:
{
"app-1": {"earning_from_src_A": 200,
"earning_from_src_B": 456},
"app-2": {"earning_from_src_A": 120,
"earning_from_src_B": 126},
"app-3": {"earning_from_src_A": 1,
"earning_from_src_B": 34},
}
有人请帮帮我 .
我尝试使用聚合函数,但我无法在整个集合中进行分组 .
1 回答
您可以使用以下聚合
所以基本上你的钥匙在这里是未知的因此,您必须使用$objectToArray聚合将它们转换为键值对 . 然后你可以轻松$group使用应用程序名称并从
A
和B
获得收入 .哪个outputs