node.js - 如何使用 sequelize 软删除

标签 node.js sequelize.js

我有一个带有“已删除”列的非常简单的模型 (1/0)

module.exports = (sequelize, DataTypes) => {
    const User = sequelize.define('User', {
        name: {
            type: DataTypes.STRING,
            allowNull: false,
            required: true
        },
        deleted: {
            type: DataTypes.NUMBER,
            allowNull: false,
            required: true,
            defaultValue: 0,
        },
    });

    return User;
}

在我的路由器中,我列出了所有用户
router.get('/users', (req, res) => {

    return models.User.findAll({where: {deleted: 0})
        .then(users => res.status(200).json(users))
});

有没有办法将 deleted = 0 定义为模型本身的一部分,这样我就不必在每次需要列出用户时都传递它?谢谢你!

最佳答案

您需要在模型中设置 paranoid:true

const User = sequelize.define('User', {
        name: {
            type: DataTypes.STRING,
            allowNull: false,
            required: true
        },
        deleted: {
            type: DataTypes.NUMBER,
            allowNull: false,
            required: true,
            defaultValue: 0,
        },
    },{
       paranoid: true
    });

关于node.js - 如何使用 sequelize 软删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58965810/

相关文章:

node.js - 在 Node.js 中向 255.255.255.255 发送和接收 UDP 广播

sql - 如何为此编写sql?

node.js - 更新 Sequelize 模型时,失败并返回与我提供的不同的表名?

node.js - Heroku 上的 ImageMagick 和 FFTW

javascript - 关闭服务器后 Node-Cron 如何跟踪时间?

javascript - 提高大量数据的字典查找性能

javascript - 附加base64编码文件nodejs

mysql - 使用环境变量进行本地 Sequelize 配置

node.js - Sequelize 关联

javascript - 如何使用 sequelize-hierarchy 在 Node.js 中对同一级别的项目进行排序?