我正在为mongoose编写一个中间件,使用pre query hook为每个查找对象执行。
postSchema.pre('query', function(query, next) {
// I want to access the req.user object here
query.populate('Category');
next();
});
我想在pre中访问req.user对象,以便为api服务器发出每个请求。我如何将对象传递给中间件?
甚至可能吗?
我发现了上述内容,但它没有谈论传递req对象。
====================
在对这个问题感到困惑后编辑。
我想要完成的是获取req.user角色,模型名称将其传递给另一个函数以获取查询的查询条件。因此,根据用户角色和访问的模型类型,查询条件将发生变化。
答案 0 :(得分:0)
将中间件包含在可以访问req
的其他中间件中。
有点像,假设快递
router.verb('/some-route', function (req, res, next) {
postSchema.pre('query', function(query, next) {
console.log(req);
query.populate('Category');
next();
});
});
修改强> - 仅将此附加到您想要预挂的路线。
免责声明 - 未经测试。