请教一个关于mongoTemplate的分组统计问题

windddy 2018-11-09 07:14:15

在一个集合中我有这样三条数据,现在我想按照flowStatus这个字段统计数量,将统计结果放入一个我定义好的实体类,如下

count对应数量,objectId对应flowStatus的值,最后得到的应该是一个List,
值为[{"count": 1,"objectId": "0"},{"count": 2,"objectId": "1"}]
查了好多资料知道要封装aggregation调mongoTemplate.aggregate方法,但是就是实现不了,还望各位大佬指点一二,万分感谢!
...全文
727 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
windddy 2018-11-10
  • 打赏
  • 举报
回复
问题解决了,是spring-data-mongodb版本的问题 我之前是1.10.7换成1.10.11之后完美解决,参考下面的博文 https://blog.csdn.net/qq_36324685/article/details/80767928
windddy 2018-11-10
  • 打赏
  • 举报
回复
    public List<CountIdDTO> listGroupCount(String groupField, String collectionName) {
        Aggregation agg = Aggregation.newAggregation(Aggregation.group(groupField).count().as("count"),
                Aggregation.project("count").and(groupField).as("objectId"));
        AggregationResults<CountIdDTO> results = mongoTemplate.aggregate(agg, collectionName, CountIdDTO.class);
        List<CountIdDTO> countIdDTO = results.getMappedResults();
        return countIdDTO;
    }
我写的代码是这样,测试错误

1,798

社区成员

发帖
与我相关
我的任务
社区描述
MongoDB相关内容讨论区
社区管理员
  • MongoDB社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧