首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >有没有办法在nodejs mongoose中将函数上下文发送到模型?

有没有办法在nodejs mongoose中将函数上下文发送到模型?
EN

Stack Overflow用户
提问于 2019-03-25 14:53:48
回答 1查看 224关注 0票数 0

我需要在mongoose中实现基于执行请求的用户的id的pre钩子。

我不能访问初始函数上下文(userId、权限等)并在mongoose pre钩子中使用它。

代码语言:javascript
复制
let writePermissionCondition = async function(next) {
    let ctx = getCurrentContext();
    next();
}

因为我不能在mongoose模型中发送当前上下文,所以我不能访问执行实际请求的userId。

编辑:关于架构的更多信息以及我试图实现的目标

1)用户向服务发出请求(监听事件。例如: user/create、user/delete、user/find等)

2)事件调用CRUD函数

3) CRUD中使用的模型有ReadPermission和WritePermission中间件(钩子)。

4) ReadPermission和WritePermission验证发出请求的用户是否具有读或写权限。这是我需要知道哪个用户试图访问该模型的步骤。

我可能错了,权限应该在控制器中实现,而不是在模型中。

EN

回答 1

Stack Overflow用户

发布于 2019-03-25 15:04:47

将其设置为global var,并在mongoose操作中使用它

代码语言:javascript
复制
let writePermissionCondition = async function(next) {
    let ctx = getCurrentContext();
    global.ctx = ctx
    next();
}

现在,您可以在应用程序中的任何位置访问global.ctx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55332573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档