在NodeJS应用程序上使用TCP前缀连接到mongoDB



我创建了一个与MongoDB连接的NodeJS应用程序,它似乎在本地工作。

现在,在远程机器上托管NodeJS应用程序后,我试图连接到已经在该机器上创建的mongoDB。当我打印出一些环境变量时,我看到的唯一相关的变量似乎是:

MONGODB_PORT: 'tcp://172.30.204.90:27017',

我试着像往常一样联系mongoose.connect('mongodb://localhost:27017/metadata/')并将其替换为mongoose.connect('tcp://172.30.204.90:27017/metadata'),但我得到一个错误,说我的URI需要从'mongodb'开始。

所以我试着用mongoose.connect('mongodb://172.30.204.90:27017/metadata')代替它,它不再抛出任何错误。但在MongoDB方面,我没有看到任何新的连接发生,我的应用程序没有在机器上启动。我应该在URI中放入什么?

您的URI确实应该以mongodb开头:

mongoose.connect('mongodb://username:password@host:port/database?options...');

查看更多信息:https://docs.mongodb.com/manual/reference/connection-string/

是否尝试从cli连接到数据库?或者Telnet查看连接是否被阻塞。

最新更新