mongodb的默認時間是格林尼治時間,如果是要按照日期進行分組需要注意!!!。
解決方案:
1.使用時間格式化方法
Aggregation.project().and("createTime").dateAsFormattedString("%Y-%m-%d").as("time"), Aggregation.group("time").count().as("count")
或者
Aggregation.project().and(DateOperators.DateToString.dateOf("createTime").toString("%Y-%m-%d")).as("name"), Aggregation.group("time").count().as("count")
dateAsFormattedString()方法會默認將當前時間轉為系統默認的時區
2.進行時間補償(默認當前時區是東八區,即8x3600x1000=28800000)
Aggregation.project().andExpression("add(createTime,28800000)").as("time"), Aggregation.group("time").count().as("count")