环回中的远程挂钩

时间:2016-06-02 05:01:03

标签: node.js loopbackjs

在环回中,我使用afterRemote挂钩获取请求,如下所示

Modelname.afterRemote("**", function(ctx, expenses, next){
  if(ctx.method.name == 'find') {
      for(var i=0; i<ctx.result.length; i++){
        delete ctx.result[i].category;
      }
  }
});

在上面我试图在发送到客户端之前从获取请求响应中删除密钥。但仍然出现了。所以它不可能删除我们在model.json中创建的键。请分享您的想法。提前谢谢。

1 个答案:

答案 0 :(得分:0)

您需要使用result.unsetAttribute('field')

Modelname.afterRemote("**", function(ctx, expenses, next){
  if(ctx.method.name == 'find') {
    for(var i = 0; i < ctx.result.length; i++) {
      ctx.result[i].unsetAttribute('category');
    }
  }
});

以下是related GitHub issue,如果您有兴趣的话。

LoopBack文档的Operation hooks部分对此进行了记录,但遗憾的是Remote hooks部分没有提到它。

注意:如果您想将此挂钩限制为仅 find 方法,则可以使用Modelname.afterRemote("find", function (ctx, expenses, next) {});指定它。