Sequelize 如何 return 销毁行

Sequelize how to return destroyed row

这是我删除数据库中行的代码

Model.destroy({
  where: {
    ...
  }
}).then((response) => {
    console.log(response)
})

我在 console.log 中得到的是 01 记录是否已删除..

有什么方法可以return销毁 promise 中的行吗?

所以响应应该是这样的 { id:123, ... }

UpdateDestroy 不是那样工作的。所以你不能,但有办法。

Model.find({
   where: {...}
}).then((result) => {
    return Model.destroy({where: ..})
              .then((u) => {return result});
});

这里我们返回一个 Model.destroy 的承诺,它将解析为从对 Model.find.

的调用中收到的 result 对象

所以,假设有一个名为 deleteRow 的函数定义为:

function deleteRow() {
    return Model.find({
        where: { ...}
    }).then((result) => {
        return Model.destroy({ where: ..})
            .then((u) => { return result });
    });
}

您可以将 deleteRow 用作:

deleteRow().then(findResult => console.log(JSON.stringify(findResult));