0

数据大概如下:

事件信息 事件来源 事件状态

希望得到如下统计数据:

事件来源

微信:

未处理:1

正在处理:2

已处理:5

email:

未处理:5

正在处理:7

已处理:8

发表新评论

我现在用了一个不成熟的方案,concat事件来源和事件状态两个字段,然后再分组。希望大家能提供更好的方案
db.getCollection(‘event’).aggregate([{$project: {
“_id”: 1,
“groupId”: {$concat:[“eventSource”,” – “, “$eventStatus”]}
}},{
$group: {
“_id”: “$groupId”,
“count”: {
“$sum”: 1.0
}
}
}]
)