我正在按照指示这里尝试安装 Mongo 3.6 并启用身份验证。我已添加“root”用户,并且能够使用 Mongo shell 登录,我还添加了应用程序用户,但是当我尝试使用root
我创建的另一个用户 ID 列出数据库或集合时,我收到以下错误:
not authorized on on admin to execute command { listDatabase: 1.0, $db: \"admin\" }
当我尝试使用应用程序用户通过节点应用程序登录时,也会出现此问题。我做错了什么?
答案1
好的,所以问题有两个方面:
- 我已将应用程序用户添加到错误的数据库。似乎所有用户都应添加到管理员,而不是要授予权限的数据库
- 我的“root”用户缺少一些角色。似乎可以解决这个问题的是“root”角色
- 我缺少列出应用程序用户数据库所需的角色。我添加了 clisterMonitor,这似乎有效。
这三者结合在一起似乎允许我从 MongoClient进行show dbs
、show collections
和调用。listDatabases