sequilize:如何获得超过 1 小时的 createdat 记录

beg*_*per 4 javascript postgresql node.js sequelize.js

我是 sequelize 的新手,我不知道如何使用 createdAt 列获取当前日期不到 1 小时的记录,这是我的代码:

models.Trip.findAll({
    where: {
      createdAt: {
        $gt:  -------> createdAt <= 1 hour with current date
      }
    },
    include: [
      models.User,
      models.Vehicle,
    ],
  })
Run Code Online (Sandbox Code Playgroud)

如何做到这一点,请帮助我。谢谢!

dou*_*arp 8

用于sequelize.literal()根据数据库服务器时间查询。

使用服务器:

created_at: {
  [Op.gt]: sequelize.literal("NOW() - INTERVAL '24 HOURS'")),
}
Run Code Online (Sandbox Code Playgroud)

Date通过从 中减去毫秒来使用设置为过去一小时的对象Date.now()

使用 Sequelize.Op

created_at: {
  [Op.gt]: new Date(Date.now() - (60 * 60 * 1000)),
},
Run Code Online (Sandbox Code Playgroud)

使用旧式运算符别名

created_at: {
  $gt: new Date(Date.now() - (60 * 60 * 1000)),
},
Run Code Online (Sandbox Code Playgroud)