我有以下结构的数据在我的mongo收集:
{app: 'app1', status: 'success', count: 5},
{app: 'app1', status: 'fail', count: 4},
{app: 'app1', status: 'blocked', count: 3},
{app: 'app1', status: 'transferred', count: 6},
...
字符串
有更多这样的文档,其中每个应用程序可以有多个状态(不一定是所有的)。我想统计一个组中的所有应用程序的成功状态和第二个组中的所有其他状态,如下所示:
{app: 'app1', status: 'success', count: 5},
{app: 'app1', status: 'failed', count: 13},///4+3+6=13
型
我该如何编写一个聚合查询呢?我正在尝试,但什么也想不出来,因为这里我必须将“成功”与其他状态分开。
请帮帮我
1条答案
按热度按时间0lvr5msh1#
只需在
$group
中使用$switch
,即可将成功以外的所有情况放入默认分支。字符串
Mongo Playground