我创建了一个与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查看连接是否被阻塞。