mLab连接错误:数据库名称不能为mongodb保留字符://

时间:2018-01-01 08:37:01

标签: mongodb mlab

我在运行mLab命令以通过mongo shell连接时遇到mongoDB连接错误。使用下面的mLab命令在Windows git bash终端下运行。我没有使用任何保留字符作为数据库名称,基本上只是一个小写字符串。有什么想法吗?

使用mongo shell进行连接:

mongo ds237967.mlab.com:37967/<database> -u <dbuser> -p <dbpassword>





connecting to: mongodb://<database>:27017/ds237967.mlab.com%3A37967
2018-01-01T00:20:45.371-0800 E QUERY    [thread1] Error: Database name cannot have reserved characters for mongodb:// URL: mongodb://<databasename>:27017/ds237967.mlab.com%3A37967 :
connect@src/mongo/shell/mongo.js:240:13
@(connect):1:6
exception: connect failed

4 个答案:

答案 0 :(得分:4)

而不是使用

mongo ds237967.mlab.com:37967/<database> -u <dbuser> -p <dbpassword>

尝试

mongo --port 37967 --host ds237967.mlab.com <database> -u <dbuser> -p <dbpassword>

它应该起作用,因为它对我有用。如果不是,请告诉我

答案 1 :(得分:1)

在编写数据库名称等时,应删除“ <>”字符。

这里是一个例子:

mongo ds237967.mlab.com:37967/databaseName -u dbUser -p dbpassword

答案 2 :(得分:0)

看起来你遇到了这个错误:

https://jira.mongodb.org/browse/SERVER-31437

URL中的主机名和数据库被转置。

如果是这种情况,当前版本的Mongo的解决方法是使用--port和--host参数指定端口和主机名,如hasysf的答案所述。

否则,请考虑升级到修复此版本的版本(v3.4.12或v3.6)。

答案 3 :(得分:0)

您需要替换为默认情况下连接将使用的数据库的名称:

mongo "mongodb+srv://sandbox.5xx8l.mongodb.net/<dbname>" --username <dbuser> --password<dbpassword>

您还可以从代码中删除数据库。下面的代码应该可以正常工作:

mongo ds237967.mlab.com:37967 -u <dbuser> -p <dbpassword>