天天看點

mongodb按照日期分組統計

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")

```

-------

兩種方法用一種就可以實作

posted on 2019-05-22 19:18 小胡Hugh 閱讀(...) 評論(...) 編輯 收藏