Sequelize.js Sequelize钩子-afterBulkUpdate的以前数据值
我试图在bulkupdate之前创建一个钩子Sequelize.js Sequelize钩子-afterBulkUpdate的以前数据值,sequelize.js,Sequelize.js,我试图在bulkupdate之前创建一个钩子,并获取字段的新值和以前的值。我尝试在模型上使用.reload()和\u previousDataValues,但它们只在实例上工作,而不能批量创建和更新(我使用批量更新)。是否有一种方法可以使用beforeBulkUpdatehook获取字段的上一个值 beforeBulkUpdate: (person) => { console.log(person.name) // 'John' (new name) Person.findOne(
,并获取字段的新值和以前的值。我尝试在模型上使用.reload()
和\u previousDataValues
,但它们只在实例上工作,而不能批量创建和更新(我使用批量更新)。是否有一种方法可以使用beforeBulkUpdate
hook获取字段的上一个值
beforeBulkUpdate: (person) => {
console.log(person.name) // 'John' (new name)
Person.findOne({ where: { id: input.id } }).then(person => {
person.reload().then(() => {
console.log(person.name) // 'John' (expected old name, but returns new name)
})
})
}
通过向调用传递individualHooks:true
解决了这个问题
Model.update({id: input.id}, { individualHooks: true});
以及:
hooks: {
beforeUpdate: (instance, options) => {
console.log(instance.dataValues); // new values
console.log(instance._previousDataValues); // current values
}
}