Mongoose 将 req 对象传递给中间件

Uma*_*raa 5 javascript mongoose mongodb node.js

我正在为猫鼬编写一个中间件,它使用预查询钩子为每个查找对象执行。

postSchema.pre('query', function(query, next) {
// I want to access the req.user object here
    query.populate('Category');
    next();
});
Run Code Online (Sandbox Code Playgroud)

我想为每个向 api 服务器发出的请求访问 pre 中的 req.user 对象。如何将对象传递给中间件?

甚至有可能吗?

https://github.com/Automattic/mongoose/issues/1931

我找到了上面的但它没有谈论传递 req 对象。

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

在对这个问题有些困惑后进行编辑。

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

Swa*_*iri 0

将中间件包装在另一个有权访问req.

就像,假设表达

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

编辑 - 仅将其附加到您想要预挂接的路线。

免责声明- 未经测试。