如何获取每个月的数据库记录量 Sequelize

How to get amount of database records per month Sequelize

我在 sequelize 中有以下查询

let regMonth = [];

    let month = 1;  
while (month < 13) {

    const currMonth = await registrations.findAndCountAll({
      attributes: ['id'],
  where: {
    createdAt: {
      [Op.gte]: moment("0101", "MMDD").subtract((30 * month)-365, 'days').toDate()
    }
  }
})

regMonth.push(currMonth);

month++;


}

它应该创建一个数组,其中包含在相应月份创建的数据库记录的数量。它在某种程度上起作用,但生成的数组如下所示:

[3,3,0,0,0,0,0,0,0,0,0,0]

但它应该 return

[0,3,0,0,0,0,0,0,0,0,0,0]

因为我只在 2 月添加了 3 条记录,其他月份都没有。

我该如何解决这个问题,或者有没有其他更有效的方法可以做到这一点,可能使当前年份变得无关紧要。

感谢您的帮助。

createdAt: {
      [Op.gte]: moment("0101", "MMDD").add(month-1, 'months').toDate(),
      [Op.lt]: moment("0101", "MMDD").add(month, 'months').toDate(),
    }

请注意数据库中 created_at 值与服务当前时区之间的时区差异(如果有)。