mongodb按照日期分组统计

[TOC]

-------

mongodb的认时间是格林尼治时间,如果是要按照日期进行分组需要注意!!!。
解决方案:
## **1.使用时间格式化方法**
```java
Aggregation.project().and("createTime").dateAsFormattedString("%Y-%m-%d").as("time"),
Aggregation.group("time").count().as("count")
```
或者
```java
Aggregation.project().and(DateOperators.DatetoString.dateOf("createTime").toString("%Y-%m-%d")).as("name"),
Aggregation.group("time").count().as("count")
```
dateAsFormattedString()方法认将当前时间转为系统认的时区

## **2.进行时间补偿**(认当前时区是东八区,即8x3600x1000=28800000)
```java
Aggregation.project().andExpression("add(createTime,28800000)").as("time"),
Aggregation.group("time").count().as("count")
```
-------

两种方法用一种就可以实现

 

相关文章

MongoTemplate 是Spring Data MongoDB 中的一个核心类,为 S...
笔者今天要分享的是一个项目重构过程中如何将数据库选型由原...
mongodb/mongoTemplate.upsert批量插入更新数据的实现
进入官网下载官网安装点击next勾选同意,点击next点击custom...
头歌 MongoDB实验——数据库基本操作
期末考试复习总结