我有一组数据:
Branch Status Product_Category Number_Of_Clients Amount
----------------------------------------------------------------
1 Ongoing Product1 20 500
2 Not_Started Product2 30 600
有数百个分支机构,几种状态,6个产品类别。
对于每个分支,我需要做的是,将每种类型的“ Product_Category”归为一组,计算不同的“ Status”数量,总计“ Number_Of_Clientes”,然后添加所有“ Amount”。
使用Compass上的聚合管道,我尝试首先按分支分组:
{
_id: '$Branch',
set_branch: {
$addToSet: '$_id'
},
count_branch_documents: {
$sum: 1
}
}
我得到了同一个分支的文档计数,但是随后在尝试计算该分支的不同状态时遇到了问题,然后我必须添加客户数量并求和。
我尝试将$count
和$sum
以及分组,但没有得到想要的。
我的理想输出看起来像这样:
Branch: 1
Count_Branches: 2
Product_Category:
Product: Product1
Status:
Ongoing: 2
Not_Started: 5
Total_Number_Of_Clients: 7
Total_Amount: 500
Product: Product2
Status:
Ongoing: 3
Not_Started: 2
Total_Number_Of_Clients: 5
Total_Amount: 600
我的最终目标是将其分配给其他收藏夹。
非常感谢您的帮助!