Mongodb 是一款优秀的、最接近关系型数据库的文档数据库,对于海量分布式数据存储提供了一系列优秀的存取策略,并且提供免费的社区版。
但是,任何一个事物都具有两面性,它的优点和它的缺点都异常明显。mongodb 也不例外。
mongodb 提供了一个可视化的管理工具 Compass,对于数据库和集合的增删改查等操作都可以满足,可就是偏偏居然想不到的是:不支持可视化的“用户”和“权限”的操作。除了“用户”和“权限”的蹩脚之外,其他还有很多,比如不能为数据库改名,还比如每个版本的命令差别很大。
书归正传,今天的重点是如何进行“用户”和“权限”的操作。本文基于 Compass 版本 1.38.0 环境(一定瞪大眼睛看清楚版本号,这个很关键,版本的命令文本差别极大 ,首先要确定 Compass 的版本和 Server 的版本兼容,其次还要确认 Compass 版本支持的命令)。
第一步:确定当前登录 Compass 的用户具有 admin 权限 第二部:Compass 最下面有个命令行栏 >_MONGOSH,点击进入 第三部:进入目标数据库,如:use eagsen-demo 第四步:使用命令 db.getUsers() 命令,列出该库的所有用户,避免用户名重复 第五步:db.createUser({user:'用户名',pwd:'密码',roles:[{role:"readWrite",db:'eagsen-demo'}]})
上述步骤,为数据库 eagsen-demo 创建了一个具有 readWrite 权限的用户。