mongodb按照日期分组统计

时间:2025-02-16 14:41:06

目录

  • 1.使用时间格式化方法
  • 2.进行时间补偿(默认当前时区是东八区,即8x3600x1000=28800000)

mongodb的默认时间是格林尼治时间,如果是要按照日期进行分组需要注意!!!。
解决方案:

1.使用时间格式化方法

  1. ().and("createTime").dateAsFormattedString("%Y-%m-%d").as("time"),
  2. ("time").count().as("count")

或者

  1. ().and(("createTime").toString("%Y-%m-%d")).as("name"),
  2. ("time").count().as("count")

dateAsFormattedString()方法会默认将当前时间转为系统默认的时区

2.进行时间补偿(默认当前时区是东八区,即8x3600x1000=28800000)

  1. ().andExpression("add(createTime,28800000)").as("time"),
  2. ("time").count().as("count")

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