loopback操作钩子:添加过滤器来计算api

时间:2016-10-14 14:18:36

标签: loopbackjs

我需要在查询Mongodb之前拦截我的环回查询以添加其他过滤器,例如,将对象限制为用户有权访问的内容。

我可以成功更新访问操作挂钩上的查询,将过滤器添加到GET / Applications,其中Applications是我的对象。但是,这不适用于GET / Applications / count

该命令以200运行,但是它返回零结果,即使我正在添加完全相同的过滤器。我缺少的计数大多数都有些不同。 ctx对象看起来有很多函数/对象。我只是触摸查询属性,但我必须要做其他事情。

有什么想法吗?谢谢Dan,

1 个答案:

答案 0 :(得分:0)

请与您分享access挂钩观察员的实施情况。我在一个示例应用上尝试了它,并且access挂钩按预期/api/Books/count工作:

module.exports = function(Book) {
      Book.observe('access', function logQuery(ctx, next) {
        ctx.query.where.id = 2; // changing filter value for where
      console.log('Accessing %s matching %j', ctx.Model.modelName, ctx.query.where);
      next();
    });
};

验证您是否正在修改Context的query属性(请参阅access hook)。 希望有所帮助。