环回模型在保存

时间:2017-11-16 08:10:59

标签: javascript node.js loopbackjs strongloop

我一直想用这个来绕过我的头一段时间。

我想在保存之前删除模型的某个属性或属性。

到目前为止,我正在尝试使用Loopback的操作挂钩before save来捕获实例。

   MyModel.observe('before save', function(ctx, next){

      if (ctx.instance) {
         ctx.instance.removeProperty = undefined; 
      } else {
         ctx.data.removeProperty = undefined;    
      }

      next();

   });

通过将属性设置为undefined,不确定上述代码无效的原因,但您可以将其他任何值设置为其他属性。

更新:上面的代码实际上正在运行。但我对已经拥有该属性的实例有疑问我想删除。

1 个答案:

答案 0 :(得分:2)

在Loopback版本3中,

如果是ctx.data

delete ctx.data['propertyToBeRemoved'];

如果是ctx.instance

ctx.instance.unsetAttribute('propertyToBeRemoved')

此语句阻止挂钩上下文中的不需要的属性保存到数据库。