如何使用Node + Mongoose连接远程MongoDB数据库

这几天在弄mongodb远程连接的时候遇到了一些问题,问题具体是这样的:

clipboard.png

这是我的mongodb链接协议的设置,连接的是一台远程的数据库。最后产生的结果是

mongodb://xxx:xxx@xxx.xxx.xxx.xxx:27017,xxx.xxx.xxx.xxx:27018,xxx.xxx.xxx.xxx:27019/snow?replicaSet=sky_rs&readPreference=secondaryPreferred

当我在本地启动nodejs的时候,会去连接远程的服务器。但是返回的服务器实例找不到。

clipboard.png

注:划去的是数据库的实例名称。

我检查过实例名称,没有错,而且我使用IP地址连接的(使用实例名称也一样,试过)

远程数据库是开启状态,因为我用本地mongo可以连接远程服务器。

clipboard.png

这里是数据库连接的代码

远程服务器使用的是阿里云的服务器。

本人还是个小白,遇到这个问题,google了好久也没确定具体问题的发生,不知道为什么会发生getaddrinfo ENOTFOUND。如果有哪位大神知道问题所在,或者曾经遇到过,还望指点迷津。谢谢各位神大大了。

阅读 5.7k
1 个回答

具体原因为我也不清楚 但是我知道有些服务器运营商是禁止外网连接数据库 比如阿里云就只能通过阿里云的服务器来连接 外网连接的话需要配置一个代理

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题