Mongoose将req对象传递给中间件

时间:2015-07-10 01:37:11

标签: javascript node.js mongodb mongoose

我正在为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服务器发出每个请求。我如何将对象传递给中间件?

甚至可能吗?

iCal link

我发现了上述内容,但它没有谈论传递req对象。

====================

在对这个问题感到困惑后编辑。

我想要完成的是获取req.user角色,模型名称将其传递给另一个函数以获取查询的查询条件。因此,根据用户角色和访问的模型类型,查询条件将发生变化。

1 个答案:

答案 0 :(得分:0)

将中间件包含在可以访问req的其他中间件中。

有点像,假设快递

router.verb('/some-route', function (req, res, next) {
   postSchema.pre('query', function(query, next) {
      console.log(req);
      query.populate('Category');
      next();
   });
});

修改 - 仅将此附加到您想要预挂的路线。

免责声明 - 未经测试。