为什么我无法修改结果对象

时间:2016-11-24 10:42:52

标签: sequelize.js

为什么sequelize findAll返回的对象和喜欢的对象不能像常规对象一样被修改?我检查了它们是冻结还是锁定,但Object.isFrozen()返回false。它是否使用getter而不是真正的属性(我该如何检查?)

到目前为止,修改结果的唯一选择是JSON.parse(JSON.strigify(result))这样做可以,但会产生性能价格。

1 个答案:

答案 0 :(得分:1)

您的实例具有getter和setter方法。您可以调用instance.get(' field')或instance.set(' field',value)。

但是如果您尝试动态地向模型添加新属性,则可以尝试创建属性类型:DataTypes.VIRTUAL。

DataTypes.VIRTUAL属性是瞬态的,您可以使用它来自定义/添加您不希望持久保存到数据库的属性值。

http://docs.sequelizejs.com/en/v3/api/datatypes/#virtual