我需要在查询Mongodb之前拦截我的环回查询以添加其他过滤器,例如,将对象限制为用户有权访问的内容。
我可以成功更新访问操作挂钩上的查询,将过滤器添加到GET / Applications,其中Applications是我的对象。但是,这不适用于GET / Applications / count
该命令以200运行,但是它返回零结果,即使我正在添加完全相同的过滤器。我缺少的计数大多数都有些不同。 ctx对象看起来有很多函数/对象。我只是触摸查询属性,但我必须要做其他事情。
有什么想法吗?谢谢Dan,
答案 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)。
希望有所帮助。