0

我有兴趣尝试 DaaS 服务以在生产中将 MongoDB 与我的 Node/Express 应用程序一起使用,但连接时遇到问题。

使用 Compose 和 mLab,我能够成功连接到远程服务器的 mongo 控制台,但是当我尝试使用 Mongoose 使用连接字符串连接时:

mongoose.connect('mongodb://user:pass@server.compose.io:port_name/db_name');

或者

mongoose.connect('mongodb://<dbuser>:<dbpassword>@ds012345.mlab.com:56789/mydb');

在我的应用程序中,我收到以下错误:

MongoError: failed to connect to server [localhost:27017] on first connect at null.

使用另一台机器,我使用我正在开发的应用程序成功连接到 mLab,所以我有信心 a) 应用程序 - 就设置而言,它几乎是快速生成器样板 - 没有以一种方式设置阻止连接,并且 b)这里没有基本问题,例如输入错误的连接字符串。

我发布此内容是为了查看是否与我的 Node 环境有关,或者可能与我正在使用的计算机的网络设置有关,我应该考虑让我的应用程序再次连接到远程 MongoDB 数据库在开发过程中进行测试。

非常感谢您的帮助。

4

1 回答 1

2

我会检查您的代码,以确保您没有竞相读取连接字符串,并且代码中的某处没有“mongoose.connect()”。该错误更表明在connect()没有参数或使用 null 并使用其默认设置的情况下调用(IME 任何其他 URL 格式错误往往会产生特定错误)。

于 2017-01-15T17:04:22.830 回答