Sequelize.js 如何使用sequelize count with group来计算组的总数

Sequelize.js 如何使用sequelize count with group来计算组的总数,sequelize.js,Sequelize.js,我有一些数据在字段中创建了一个。我编写了一个sequelizefindAll查询,成功地将在日期创建的\u分组,这些日期发生在同一天(忽略小时、分钟、秒)。然后我返回该列表的结果.length,以获得唯一天数的总数(这是我的最终目标)。但是,我想知道我是否可以使用sequelizecount方法返回唯一天数的总数,而不是使用findAll然后返回result.length 我并没有尝试太多,因为我只是在学习sequelize,有点不知所措。我也得到了我想要的结果,但我希望找到一种使用count而

我有一些数据在字段中创建了一个
。我编写了一个sequelize
findAll
查询,成功地将
日期创建的\u分组,这些日期发生在同一天(忽略小时、分钟、秒)。然后我返回该列表的
结果.length
,以获得唯一天数的总数(这是我的最终目标)。但是,我想知道我是否可以使用sequelize
count
方法返回唯一天数的总数,而不是使用
findAll
然后返回
result.length

我并没有尝试太多,因为我只是在学习sequelize,有点不知所措。我也得到了我想要的结果,但我希望找到一种使用
count
而不是
findAll
的方法

const start = moment().subtract(9, 'months').format();
const end = moment().format();
const results = await models.route.unscoped().count({
    attributes: [[db.literal(`DATE("created_at")`), "date"]],
    group: [db.literal(`DATE("created_at")`), "date"],
    where: {
      created_at: {
        $between: [start, end]
      }
    },
    raw: true
  })
预期结果:sequelize查询的结果返回一个#,对应于找到的唯一天数的总和。
实际结果:当前查询结果返回一个包含所有唯一日期的数组,这使得我必须使用
results.length
来获取唯一日期的总数。

如果将db.literal移动到col属性,应该可以使用。。。大致:

   results = await models.route.unscoped().count({
      col : db.fn('DATE', db.col('created_at')),
      distinct : true,
      where : // ...whatever...
     });
。。。但当我测试时,col似乎必须是一列。。。不是函数结果。但是,您可以使用findAll()使其工作,大致如下:

results = await models.route.unscoped().findAll({
  attributes: [[Sequelize.literal('COUNT (DISTINCT (DATE(created_at)))'), 'myCount']],
  where : // ...whatever...
});