📜  在 sequelize 中删除实例 - Javascript (1)

📅  最后修改于: 2023-12-03 15:07:49.262000             🧑  作者: Mango

在 Sequelize 中删除实例 - Javascript

Sequelize 是一个 Javascript ORM(对象关系映射)框架,可用于将 Javascript 对象映射到关系数据库中。在 Sequelize 中删除一个实例可以通过以下步骤来完成:

删除实例

要删除 Sequelize 中的实例,需要使用 destroy() 方法。该方法接受一个对象,表示你要删除的行,必须设置一个 where 条件。

Model.destroy({
  where: {
    id: 1
  }
}).then(() => {
  console.log("删除成功!");
});

在上面的例子中,将从 Model 中删除 id 为 1 的行。

删除多个实例

要删除多个实例,可以将 where 条件设置为一个范围,即数据表中所有满足该条件的行都将被删除。

Model.destroy({
  where: {
    status: "inactive"
  }
}).then(() => {
  console.log("删除成功!");
});

在上面的例子中,将从 Model 中删除所有 status 为 "inactive" 的行。

使用查询语句删除实例

你也可以使用查询语句来删除实例,例如,如果你需要删除所有与某个关联对象有关联的实例,可以使用 include 找到所有这些实例,然后在 destroy 方法中传递一个 force 参数来删除它们。

Model.findAll({
  include: [{ model: AssociatedModel, where: { someAttribute: true } }]
}).then((instances) => {
  instances.forEach((instance) => {
    instance.destroy({ force: true });
  });
});

在上面的例子中,将查找所有与 AssociatedModel 关联的 Model 实例,并将它们强制删除。

现在,你已经了解了在 Sequelize 中删除一个或多个实例的方法。希望这篇文章对你有所帮助。