Spring-data-mongodb总和和计数

时间:2014-12-09 18:09:43

标签: java mongodb spring-data

我有一个包含类别和文件大小的文档的数据库。我想查询并生成每个类别的不同类别和总文件大小的计数。我使用的是spring-data,我可以使用2个聚合查询完成我想要的操作。

我的问题是这个......是否可以在单个查询中执行此操作,以便我只有一个列表,其中包含类别名称,存储的次数以及文件大小的总和?

找到了答案

TypedAggregation<CatInfo> agg = newAggregation(CatInfo.class,
              group("category").count().as("count").sum("bytes").as("bytes"),
              project("count","bytes").and("category").previousOperation(),
              sort(Sort.Direction.ASC,"category"));

AggregationResults<FileCount> results = mongoOps.aggregate(agg, FileCount.class);
// FileCount class has category and count
List<FileCount> fclist = results.getMappedResults();

所以我不再需要这个单独的查询来获取总文件大小

0 个答案:

没有答案