MongoLab授权例外

时间:2011-08-12 20:42:38

标签: windows mongodb cloud-hosting rackspace-cloud mlab

我在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
}

有什么想法吗?

1 个答案:

答案 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>")

http://support.mongolab.com/entries/20177338-i-m-using-the-windows-mongo-shell-and-can-t-connect-help