连接MongoDB Atlas后无法查看数据库的技术求助
连接MongoDB Atlas后无法查看数据库的解决方法
问题现象
连接MongoDB Atlas后,执行show dbs无输出,执行show collections触发权限错误,具体操作日志如下:
noTpewpew@DESKTOP-0LBRB59 MINGW64 ~/Desktop $ mongosh --version 1.5.4 noTpewpew@DESKTOP-0LBRB59 MINGW64 ~/Desktop $ mongosh "mongodb+srv://cluster0.4vcvkz0.mongodb.net/myFirstDatabase" --apiVersion 1 --username bishal-admin 输入密码: ******* 当前Mongosh日志ID: 630dcd25fc1e7464dc7ccfb7 正在连接至: mongodb+srv://@cluster0.4vcvkz0.mongodb.net/myFirstDatabase?appName=mongosh+1.5.4 使用MongoDB版本: 5.0.11(API版本1) 使用Mongosh版本: 1.5.4 警告: 找到~/.mongorc.js,但未找到~/.mongoshrc.js。~/.mongorc.js将不会被加载。 您可能需要复制或重命名~/.mongorc.js为~/.mongoshrc.js。 Atlas atlas-ssuf8v-shard-0 [primary] myFirstDatabase> show dbs Atlas atlas-ssuf8v-shard-0 [primary] myFirstDatabase> show dbs Atlas atlas-ssuf8v-shard-0 [primary] myFirstDatabase> show DBS MongoshInvalidInputError: [COMMON-10001] 'DBS' 不是"show"的有效参数。 Atlas atlas-ssuf8v-shard-0 [primary] myFirstDatabase> show dbs Atlas atlas-ssuf8v-shard-0 [primary] myFirstDatabase> show collections MongoServerError: 用户不允许对[myFirstDatabase.]执行[listCollections]操作 Atlas atlas-ssuf8v-shard-0 [primary] myFirstDatabase> show dbs
原因分析
当前使用的bishal-admin账号未被授予足够权限,MongoDB Atlas对用户权限管控严格,默认创建的用户可能仅拥有有限权限,无法查看数据库或集合列表。
解决步骤
- 登录MongoDB Atlas控制台,进入Cluster0集群页面。
- 点击左侧导航栏的Database Access选项。
- 在用户列表中找到
bishal-admin,点击右侧的Edit按钮。 - 配置账号权限:
- 若需访问所有数据库,分配
readAnyDatabase(只读)或readWriteAnyDatabase(读写)角色; - 若仅需访问特定数据库,点击Add Specific Database Privilege,选择目标数据库后分配
read或readWrite角色。
- 若需访问所有数据库,分配
- 保存设置,等待1-2分钟让权限生效。
- 重新用mongosh连接集群,执行
show dbs和show collections即可正常查看。
补充:若myFirstDatabase尚未创建,需先插入数据(MongoDB会自动生成数据库和集合),示例命令:
db.test.insertOne({name: "test"})
执行后再查看集合和数据库即可显示目标内容。
内容的提问来源于stack exchange,提问作者Bishal Deb
相关产品推荐
相关产品推荐

