MongoDB Atlas集群创建数据库/集合权限受限问题求助
解决MongoDB Atlas创建集合报错
user is not allowed to do action [createCollection] 核心问题分析
你遇到的报错本质是混淆了Atlas控制台管理角色和数据库操作角色:
Atlas Admin是用于管理Atlas平台本身的角色(比如集群配置、用户管理、监控设置),不包含数据库的读写/创建权限Read and Write to any database如果配置时选错了认证数据库,也会导致权限无法正确生效
修复步骤
修正用户权限配置
- 登录Atlas控制台,进入目标集群的
Database Access页面 - 找到出问题的用户,点击
Edit按钮 - 移除无效角色:删除
Atlas Admin以及配置错误的Read and Write to any database - 添加正确的数据库角色:
- 若需要对所有数据库拥有读写权限,添加
readWriteAnyDatabase(属于数据库内置角色,非Atlas控制台角色) - 若仅针对特定数据库操作,添加
readWrite并在数据库选择框中指定目标库(如testdb)
- 若需要对所有数据库拥有读写权限,添加
- 保存更改,等待1-2分钟让权限生效
- 登录Atlas控制台,进入目标集群的
验证连接字符串
- 确保MongoDB Compass使用的连接字符串中,认证数据库为
admin(默认创建的数据库用户均在admin库下认证) - 重新连接后再尝试创建集合/数据库
- 确保MongoDB Compass使用的连接字符串中,认证数据库为
报错信息参考
user is not allowed to do action [createCollection] on [testdb.smpleCol]
内容的提问来源于stack exchange,提问作者user2049142
相关产品推荐
相关产品推荐

