Aggregation aggregation =
Aggregation.newAggregation(Aggregation.project("createDate").and(DateOperators.DateToString.dateOf(
"createDate").toString("%Y%u")).as("date"), Aggregation.group("date").count().as("count"),
Aggregation.project("date", "count").and("date").previousOperation(),
Aggregation.sort(Sort.Direction.ASC, "date"));
AggregationResults<Annex> result = mongoTemplate.aggregate(aggregation, "annex", Annex.class);
Document rawResults = result.getRawResults();
List lists = new ArrayList();
List results = (List) rawResults.get("results");
Map map = null;
for(Object o : results){
map = new HashMap<>();
Object count = ((Document) o).get("count");
Object date = ((Document) o).get("date");
map.put("count", count);
map.put("date", date);
lists.add(map);
}
System.out.println(lists);