mongodb聚合查询实现功能,统计多个组织机构下短信发送条数,组织机构字段为sendOrgCode,要根据短信发送状态 sendStatus 统计出成功条数、失败条数、总条数,查询结果返回主键
时间: 2023-04-10 18:02:32 浏览: 66
非常感谢您的提问,以下是针对您的问题的回答:
可以使用 MongoDB 的聚合查询来实现该功能。具体实现步骤如下:
1. 使用 $match 操作符筛选出所需的文档,即 sendOrgCode 字段为指定组织机构的文档。
2. 使用 $group 操作符对筛选出的文档进行分组,以 sendStatus 字段为分组依据,统计成功条数、失败条数、总条数。
3. 使用 $project 操作符对分组后的结果进行投影,返回主键和统计结果。
以下是示例代码:
db.collection.aggregate([
{
$match: {
sendOrgCode: "指定组织机构"
}
},
{
$group: {
_id: "$sendStatus",
successCount: {
$sum: {
$cond: [
{ $eq: ["$sendStatus", "成功"] },
1,
0
]
}
},
failCount: {
$sum: {
$cond: [
{ $eq: ["$sendStatus", "失败"] },
1,
0
]
}
},
totalCount: {
$sum: 1
}
}
},
{
$project: {
_id: 0,
sendStatus: "$_id",
successCount: 1,
failCount: 1,
totalCount: 1
}
}
]);
请注意,以上代码仅供参考,具体实现可能需要根据实际情况进行调整。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)