Mongo错误:没有授权在dbname上执行命令

问题描述:

我在mongolab上创建了一个帐户,然后创建了数据库和用户。如果我开始mogno外壳和连接到我的数据库,这样Mongo错误:没有授权在dbname上执行命令

mongo ***.mlab.com:***/projectname?authMode=scram-sha1 -u myname -p mypass

然后键入show dbs我得到这个错误

2017-02-27T20:06:10.834+0200 E QUERY [thread1] Error: listDatabases failed:{ 
     "ok" : 0, 
     "errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }", 
     "code" : 13 
} : 

它说,我没有被授权,但是当我看到用户配置在mongolab网站上它说这个用户具有dbOwner角色。如何获得数据库的授权,以便我可以读取/写入数据?

那是因为monogolab如何设置服务器。看看他们的FAQ。

http://docs.mlab.com/faq/#i-am-new-to-mongodb---where-do-i-start

In addition, there are certain commands (e.g., “show dbs”), that will not work unless you have a Dedicated plan with full database administrative privileges.

所以因为你的用户没有权限来做,你不能运行该命令。您只有数据库上的dbOwner角色不在管理数据库上。