如果行已删除,则Sequelize Instance.destroy(...)不会返回任何信息

可能与以下未解决的问题有关:instance.destroy(...) does not return any information if rows has been deleted or not,但似乎与Model.destroy(...)更为相关,根据documentationModel.findAll(...)应该返回删除的行数。

我是Sequelize的新手,所以如果我做错了什么,请纠正我。我在MySQL 8.0.16中使用它并运行sequelize 5.21.2

使用Instance.destroy()然后遍历各行并处理db.tags.findAll({where: MyWhereObj,attributes: MyFieldArray}).then(tags => { _.forEach(tags,tag => { //more processing scripts for tag tag.destroy().then(deleted => { console.log(deleted) }) }) }) 时,我将根据Instance.destroy(...) documentation返回该实例

isnewRecord

我想知道的是,该行是否已成功删除。我浏览了返回的实例,以查找isDeletedRecord是否存在类似DELETE FROM `tags` WHERE `guid` = 'aaa-bbb-ccc-ddd' 的属性,但没有相似之处

我可以观察节点控制台并查看查询是否正确通过。假设该行已成功删除是安全和最佳做法吗?

查询以...的形式发送到MySQL

db.tags.findAll({where: MyWhereObj,tag => {
    // more processing scripts for tag
    tag.destroy().then(deleted => {
      console.log(deleted)
    }).catch(err =>{
      // The row was not deleted
      console.error(err)
    })
  })
}).catch(err => {
  // Error in Retrieving/Processing
  console.error(err)
})

...应该删除的行数,但是Sequelize似乎忽略了该信息

我认为我可以使用这些catch块捕获删除错误或检索/处理错误。但是想知道是否有更好的方法来简单地知道删除是否发生

body: Container(
          height: MediaQuery.of(context).size.height,width: MediaQuery.of(context).size.width,decoration: BoxDecoration(
            gradient:
            LinearGradient(colors: [Color(0xFFc2e59c),Color(0xFF64b3f4)]),)
ffffcccc 回答:如果行已删除,则Sequelize Instance.destroy(...)不会返回任何信息

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2795567.html

大家都在问