Sequelize v4中recordInstance.Model未定义,v3的record.Model对应v4替代方案是什么?
如何在Sequelize v4中获取实例对应的模型
在Sequelize v4版本里,确实移除了实例上的Model属性,取而代之的是使用实例的constructor属性来获取对应的模型。
这个改动是v4对实例结构优化的一部分,更贴合JavaScript的原生逻辑——毕竟实例的构造函数本身就指向它所属的模型类。
举个实际的例子:
在v3中你可能这样写:
const associatedModel = userRecord.Model;
到了v4,只需要改成:
const associatedModel = userRecord.constructor;
而且和v3的用法完全兼容,比如你想调用模型的静态方法,直接用constructor就行:
// 用实例对应的模型查询同类型数据 const activeUsers = await userRecord.constructor.findAll({ where: { isActive: true } });
内容的提问来源于stack exchange,提问作者Crusader
相关产品推荐
相关产品推荐

