我正在通过sequelize hooks记录DB中的更改。我遇到了一个问题。你看,在实例钩子中您可以通过实例参数检索模型及其名称。像这样:
sequelize.beforeUpdate(instance, options) => {
const modelName = get(instance, 'constructor.options.name.singular')
})
but in "bulk hooks">没有实例参数(逻辑上)。
所以我的问题是:我如何在批量钩子中检索模型或模型名称?
在查看序列化文档时,可以观察到bulkUpdate
和bulkDestroy
钩子的行为与其他钩子不同,因为它们只有一个参数,即options
,并且在这个参数中可以找到所有必要的信息。
举几个例子:当我设置一个beforeBulkUpdate(options)
-
options.fields
=数组,表示已更改的字段 -
options.model
=型号名称 -
options.attributes
=对象,表示被更改的字段和值
等等,我希望这有帮助。与更新操作相关的所有信息都可以在options参数中找到。如果您对它进行控制台日志,您可以找到您要查找的内容。