c# - MongoDB GroupBy 聚合和计数文档 C#
问题描述
我需要根据客户的状态来计算文件的数量。所以我需要使用聚合函数,然后根据状态分组。我为此使用了以下代码,但问题是在结果中我正在获取文档列表,但我只想拥有该文档的状态和数量。任何机构都可以帮助调整查询以实现结果。
var result = collection.Aggregate()
.Group(
x => x.status,
g => new
{
Result = g.Select(x => new CustomerDetailsList
{
ActiveType = x.status,
Count = g.Count()
}
)
}
);
提前致谢
解决方案
我对@mickl的回答感到满意,并且根据我的要求进行了测试,它运行良好,但这是我选择应用程序的方式,因为这是我所习惯的。方法是使用集合作为可查询
var result = collection.AsQueryable()
.GroupBy(x => x.status)
.Select(x => new CustomerDetailsList
{
ActiveType = x.Key, Count = x.Count()
}).ToList();
我以这种方式使用了更多的 LINQ,所以我选择它是因为它对我来说更好理解。
您可以选择此方法或@mickl 演示的任何方法
推荐阅读
- mysql - 是否可以对刚刚更新的行进行幻读?
- typeorm - TypeORM:使用关系和位置发出选择请求
- java - Java:short min value -> 不兼容类型:必需:short,找到:int
- python - python selenium自动完成搜索问题
- javascript - 如何在数组javascript中获得最小或最大位置?
- batch-file - 清除多个目录——精简当前代码
- python - 从字符串中删除大写字母
- python - 使用 Python 在嵌套结构中提取两个大括号之间的文本
- android - 如何从 RecyclerView 适配器打开片段?
- java - Simpledateformate 时区未转换