mongo中存储的记录类型如下:
{
"_id" : ObjectId("5d6f2ee224c1a517183ba2c7"),
"userName" : "root",
"lastModifiedBy" : "SYSTEM",
"lastModifiedTime" : ISODate("2019-09-04T11:26:28.231+08:00"),
}
按照每天有多少条记录统计代码:
TypedAggregation<PublishSqlExecute> agg = Aggregation.newAggregation( //PublishSqlExecute是mongo记录对应的对象名称
PublishSqlExecute.class,
Aggregation.match(new Criteria()), //可以根据需求加入搜索条件
project().andExpression("{$dateToString:{ format:'%Y-%m-%d',date: '$lastModifiedTime'}}").as("lastModifiedTime"), //将ISODATE改变格式,并截取到天的字段;as后相当于起了一个别名
group("lastModifiedTime").count().as("totalNum") //将别名group,统计每天总数
);
AggregationResults<BasicDBObject> result = mongoTemplate.aggregate(agg, BasicDBObject.class);
System.out.println(result.getMappedResults()); //打印结果,也可对result遍历获取