【问题标题】:How to change default value after delete with Sequelize Model and NodeJS?使用 Sequelize Model 和 NodeJS 删除后如何更改默认值?
【发布时间】:2022-09-25 04:38:15
【问题描述】:

我创建了一个控制器来删除我的 Sequelize 模型的记录,但是现在我遇到了一个麻烦,我不知道如何在删除记录后它必须更改 defaultValue。让我在下面演示我的代码。

我有一个用户模型:

module.exports = (sequelize, Sequelize) => {
  const User = sequelize.define(\"user\", {
    user_id: {
      type: Sequelize.STRING,
      autoIncrement: true,
      primaryKey: true,
    },
    username: {
      type: Sequelize.STRING,
    },
    password: {
      type: Sequelize.STRING,
    },
    full_name: {
      type: Sequelize.STRING,
    },
    email: {
      type: Sequelize.STRING,
    },
    role_id: {
      type: Sequelize.STRING,
    },
    is_active: {
      type: Sequelize.BOOLEAN,
      defaultValue: true
    },
    created_date: {
      type: Sequelize.DATE,
    },
    created_by: {
      type: Sequelize.STRING,
    },
    updated_date: {
      type: Sequelize.DATE,
    },
    updated_by: {
      type: Sequelize.STRING,
    },
  });

  return User;
};

我创建了一个删除控制器:

// delete user
export async function deleteUser(req, res) {
  try {
    const user = await User.findByIdAndDelete(req.params.user_id);
    if (!user) {
      return res.status(404).send();
    }
    res.send(user);
  } catch (error) {
    return res.status(500).json({
      success: false,
      message: \"Server error. Please try again.\",
      error: error.message,
    });
  }
}

现在我想知道删除后如何将is_activedefaultValue改为0。

    标签: javascript node.js postgresql sequelize.js


    【解决方案1】:

    据我了解,您似乎只想更改 is_active 。因此,我建议您使用 findByIdAndUpdate 查询并将 is_active 设置为 0。

    代码示例

    let doc = await User.findByIdAndUpdate(id,{$set: {is_active: 0}});
    if(!doc) {
    throw new Error('Deletion failed');
    }
    doc = await User.findById(id); // it will retrieve the updated result;
    res.json(doc.toJSON());
    

    笔记:此过程不会从数据库中删除用户。因此,在验证/验证用户时,还要检查 is_active 字段。

    【讨论】:

      猜你喜欢
      • 2022-09-25
      • 1970-01-01
      • 2015-07-01
      • 1970-01-01
      • 2021-05-19
      • 1970-01-01
      • 1970-01-01
      • 2018-04-11
      • 2014-10-12
      相关资源
      最近更新 更多