如何在 SequelizeJS 中使用“间隔”?

San*_*rna 5 sequelize.js

我需要将下面的 MySQL 查询转换为 SequelizeJS 查询

WHERE createdAt < now() - interval 5 hour
Run Code Online (Sandbox Code Playgroud)

mar*_*peg 5

我使用Sequelize.literal

Model.find({
  where: {
    [Sequelize.Op.and]: [
      Sequelize.literal(`created_at > NOW() - INTERVAL '5h'`),
    ],
  },
  logging: console.log,
})
Run Code Online (Sandbox Code Playgroud)

如果有人可以通过混合来丰富这个答案,我会很高兴Sequelize.col()自动在文字中获得正确的列名。


San*_*rna 0

或者,您可以通过以下方式实现上述目标。

new Date((new Date()).getTime() - 18000000)  //5*60*60*1000
Run Code Online (Sandbox Code Playgroud)

5 小时 = 18000000 毫秒