2

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

有任何想法吗?

4

1 回答 1

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-im-using-the-windows-mongo-shell-and-can-t-connect-help

于 2011-08-12T21:56:45.460 回答