我一直想用这个来绕过我的头一段时间。
我想在保存之前删除模型的某个属性或属性。
到目前为止,我正在尝试使用Loopback的操作挂钩before save来捕获实例。
MyModel.observe('before save', function(ctx, next){
if (ctx.instance) {
ctx.instance.removeProperty = undefined;
} else {
ctx.data.removeProperty = undefined;
}
next();
});
通过将属性设置为undefined
,不确定上述代码无效的原因,但您可以将其他任何值设置为其他属性。
更新:上面的代码实际上正在运行。但我对已经拥有该属性的实例有疑问我想删除。
答案 0 :(得分:2)
在Loopback版本3中,
如果是ctx.data
delete ctx.data['propertyToBeRemoved'];
如果是ctx.instance
ctx.instance.unsetAttribute('propertyToBeRemoved')
此语句阻止挂钩上下文中的不需要的属性保存到数据库。