我在MongoLab云服务器上创建了一个MongoDB帐户,并且我创建了一个数据库并且它是空的(没有集合,只有1个用户)。
这是Mongolab提供的连接数据库的命令
mongo dbh13.mongolab.com:27137/myDB -u <username> -p <password>
是mongolab帐户凭据的用户名或我在myDB中创建的用户。我试过了两个,它没有授权。
但是如果尝试直接连接到授权(从Windows),它就可以了 使用此命令
mongo dbh13.mongolab.com:27137/myDB
但之后如果我尝试执行show dbs / show collections之类的操作,则会失败并显示以下消息
> show dbs
assert failed : listDatabases failed:{
"assertion" : "unauthorized db:admin lock type:-1 client:38.117.159.162"
,
"assertionCode" : 10057,
"errmsg" : "db assertion failure",
"ok" : 0
}
Fri Aug 12 16:30:50 uncaught exception: assert failed : listDatabases failed:{
"assertion" : "unauthorized db:admin lock type:-1 client:38.117.159.162"
,
"assertionCode" : 10057,
"errmsg" : "db assertion failure",
"ok" : 0
}
有什么想法吗?
答案 0 :(得分:6)
我从windows shell获得了授权解决方案
> mongo "dbh13.mongolab.com:27137/myDB"
MongoDB shell version: 1.6.5
connecting to: dbh13.mongolab.com:27137/myDB
> db.auth("<username>","<password>")