如何从Mac OSterminal连接到远程mongo服务器

我想在我的MacBookterminal上放入mongo shell。 不过,我有兴趣连接到云中运行的Mongo实例(通过Heroku插件实现的compose.io实例)。 我有来自MongoDB URI的名称,密码,主机,端口和数据库名称:

mongodb://username:password@somewhere.mongolayer.com:10011/my_database 

我在我的MacBook上使用Homebrew安装了mongodb,这并不是因为我想让Mongo在我的Mac上运行,而只是为了连接到这个远程数据库而访问mongo shell程序。

但是,我无法find正确的命令来获得我想要的全部shell访问权限。 使用这里findhttp://docs.mongodb.org/manual/reference/program/mongo/ (search“远程”)的说明我能够得到看起来像一个连接,但没有给我的用户名或密码我不是完全连接。 运行db.auth(username, password)返回1(而不是“auth失败”,当我提供不正确的用户名和密码),但我继续得到一个“未经授权的”错误信息发出show dbs命令时。

您可能连接正常,但没有足够的权限来运行show dbs

如果您在命令行中传递身份validation,则不需要运行db.auth:

 mongo somewhere.mongolayer.com:10011/my_database -u username -p password 

一旦你连接,你能看到collections?

 > show collections 

如果是这样,一切都很好,你只是没有数据库的pipe理员权限,不能运行show dbs

在Mongo 3.2及更高版本中,只需使用连接string:

 mongo mongodb://username:password@somewhere.mongolayer.com:10011/my_database