呕心沥血,终于让我这个mongo小白成功解决了问题!
•$project - 可以重构数据
•$match - 可以实现类似query的功能
•$limit - 限制返回个数
•$group - 统计操作, 还提供了一系列子命令
•$sort - 排序
直接上代码:
Criteria criteriaTwo = Criteria.where("isDelete").is(0).and("isAble").is(1); Aggregation agg = Aggregation.newAggregation( match(criteriaTwo), Aggregation.project("releaseTime").andExpression("releaseTime").substring(0,10).as("times"), Aggregation.group("times").count().as("count")); AggregationResults<Map> aMap = mongoTemplateApi.aggregate(agg,AInfo.class,Map.class);
如果为数据库字段为时间类型
Aggregation.project("isTure").and(DateOperators.DateToString.dateOf( "orderTime" ).toString("%Y -%m-%d")).as("times") 成功解决,完美!