MongoDB DaaS:远程连接字符串似乎导致本地查找

MongoDB DaaS: Remote connection string seems to result in local lookup

我有兴趣试用 DaaS 服务,以便在我的 Node/Express 生产应用中使用 MongoDB,但我无法连接。

使用 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 数据库。

非常感谢您的帮助。

我会检查您的代码以确保您没有竞速读取连接字符串并且您的代码中没有 "mongoose.connect()"。该错误更表明 connect() 被调用时没有参数或使用 null 并使用其默认设置(IME URL 的任何其他畸形往往会产生特定错误)。