Sequelize - 从现在开始的几个小时前删除所有数据

Sequelize - Delete all data before some hours from now

我正在使用 Node.js 和 Sequelize/Maria DB 我想要做的是在几个小时后删除 table 中的所有数据。

(所以。逻辑是“如果创建时间是从现在起 X 小时之前,则删除所有行。)

我一直在通过 google 和 Whosebug 搜索很好的示例,但我找不到解决方案。

我的代码是这样的


    const expireDate = 24

    await MyTable.destroy({
        where: {
            createdAt: ...
        }
    })

提前致谢。

为此你需要使用 moment。

const expiryDate = 24;
const { Op } = require('sequelize');

await MyTable.destroy({
    where: {
        createdAt: {[Op.lte]: moment().subtract(expiryDate, 'hours').toDate()}
    }
});