Node.js 如何从afterUpsert钩子获取更新的sequelize模型的实例?
其他sequelize钩子,如Node.js 如何从afterUpsert钩子获取更新的sequelize模型的实例?,node.js,sequelize.js,Node.js,Sequelize.js,其他sequelize钩子,如afterUpdate(实例,选项)提供修改模型的实例作为参数。但是,afterUpsert(created,options)提供了一个created布尔值,指示操作是插入还是更新 是否有办法配置sequelize或操纵afterUpsert参数,以获得upserted模型的实例?据我所知,您无法。由于upsert通过queryInterface调用db的结果是返回到afterUpsert钩子的内容,无论upsert过程中是否有任何新创建的记录,它都是boolean
afterUpdate(实例,选项)
提供修改模型的实例作为参数。但是,afterUpsert(created,options)
提供了一个created
布尔值,指示操作是插入还是更新
是否有办法配置sequelize或操纵
afterUpsert
参数,以获得upserted模型的实例?据我所知,您无法。由于upsert
通过queryInterface
调用db的结果
是返回到afterUpsert
钩子的内容,无论upsert
过程中是否有任何新创建的记录,它都是boolean
值
同时,您可以使用
beforeuspert
将值传递给upspert
方法。不确定这是否有用(可能是清除缓存)据我所知,您不能。由于upsert
通过queryInterface
调用db的结果
是返回到afterUpsert
钩子的内容,无论upsert
过程中是否有任何新创建的记录,它都是boolean
值
同时,您可以使用
beforeuspert
将值传递给upspert
方法。不确定这是否有帮助(可能是清除缓存)我最近也遇到了同样的问题,我可以通过这种方式来管理它:
beforeUpsert: (values, options)=>{
/* afterUpsert will always get an array of type [Model, created] as first argument */
options.returning = true;
},
我决定使用beforeUpsert钩子来确保对Model.upsert的任何调用都必须返回一个实例,而不仅仅是一个创建的布尔值。但是,你也可以打电话
upsert(values,{returning: true});
HTH我最近也遇到了同样的问题,我可以这样处理:
beforeUpsert: (values, options)=>{
/* afterUpsert will always get an array of type [Model, created] as first argument */
options.returning = true;
},
我决定使用beforeUpsert钩子来确保对Model.upsert的任何调用都必须返回一个实例,而不仅仅是一个创建的布尔值。但是,你也可以打电话
upsert(values,{returning: true});
嗯