Hasura连接MongoDB后无Mutation选项,请求配置指导
解决Hasura连接MongoDB后无Mutation选项的问题
第一步:检查MongoDB Atlas用户权限
- 登录MongoDB Atlas控制台,进入Database Access页面
- 找到配置给Hasura使用的数据库用户,点击「Edit」编辑权限
- 确保该用户拥有
readWrite内置角色:- 若之前选的是
read角色,直接切换为readWrite - 若使用自定义角色,需确保包含
insert、update、delete这些写入类操作权限
- 若之前选的是
- 保存设置,等待1-2分钟让权限生效
第二步:配置Hasura集合的Mutation权限
- 登录Hasura Console,进入Data -> MongoDB -> 你的目标数据库
- 选择需要开启Mutation的集合,切换到Permissions标签
- 针对你使用的角色(比如默认的
admin角色或自定义角色):- Insert权限:勾选「Enable insert permissions」,在「Select columns」中选择
*(允许插入所有字段),条件可暂时留空 - Update权限:勾选「Enable update permissions」,同样选择
*,条件按需设置 - Delete权限:勾选「Enable delete permissions」,条件按需设置
- Insert权限:勾选「Enable insert permissions」,在「Select columns」中选择
- 点击「Save Permissions」保存设置
第三步:验证Hasura角色的全局权限
- 进入Hasura Console的Settings -> Roles
- 找到你使用的角色,确认该角色的Allowed GraphQL operations中包含
mutation(默认admin角色已勾选,自定义角色需手动勾选)
额外排查点
- 确认目标集合已在Hasura中被追踪:在Data页面的集合列表中,该集合的「Tracked」状态应为Yes,若为No,点击「Track」按钮完成追踪
- 重新检查Hasura的MongoDB连接URI,确保使用的是拥有读写权限的用户账号密码
内容的提问来源于stack exchange,提问作者Link Lin
相关产品推荐
相关产品推荐

