2016-11-24 39 views
1

为什么不能像修改常规对象那样修改由集合findAll等所返回的对象?我检查他们是否被冻结或锁定,但Object.isFrozen()返回false。是否使用获得者而不是真实属性(我该如何检查?)为什么我无法修改结果对象

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

回答

1

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

但是,如果您试图动态地将新属性添加到您的模型,您可以尝试创建一个属性类型:DataTypes.VIRTUAL。

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

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

相关问题