连接到 MongoDb Atlas 服务器时出错

新手上路,请多包涵

所以我目前正在编写一个 Web 应用程序,我需要数据库,所以我决定使用 mongodb 和 mongoose。到目前为止,我在 localhost 上测试了所有内容并且它有效,但我想将数据移动到服务器。我听说过 Atlas 并注册了自己并“上传”了数据。

现在我想通过 node.js 应用程序连接到集群。

 mongoose.connect('mongodb+srv://engllucas:p%40ssw0rd@insight-quhku.mongodb.net/test');

我在 连接您的应用程序 时得到了 mongodb Atlas 站点的字符串

然后我换了密码。

 mongoose.connect('mongodb://engllucas:p%40ssw0rd@insight-quhku.mongodb.net/test');

这也不起作用。

那是错误信息:

 { MongoError: failed to connect to server [insight-shard-00-02-quhku.mongodb.net:27017] on first connect [MongoNetworkError: connect ECONNREFUSED 18.194.163.64:27017]
at Pool.<anonymous> (U:\WEBT\ProjectInsight\Quiz\node_modules\mongodb-core\lib\topologies\server.js:503:11)
at emitOne (events.js:115:13)
at Pool.emit (events.js:210:7)
at Connection.<anonymous> (U:\WEBT\ProjectInsight\Quiz\node_modules\mongodb-core\lib\connection\pool.js:326:12)
at Object.onceWrapper (events.js:318:30)
at emitTwo (events.js:125:13)
at Connection.emit (events.js:213:7)
at TLSSocket.<anonymous> (U:\WEBT\ProjectInsight\Quiz\node_modules\mongodb-core\lib\connection\connection.js:245:50)
at Object.onceWrapper (events.js:316:30)
at emitOne (events.js:115:13)
at TLSSocket.emit (events.js:210:7)
at emitErrorNT (internal/streams/destroy.js:64:8)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
  name: 'MongoNetworkError',

消息:’第一次连接时无法连接到服务器 [insight-shard-00-02-quhku.mongodb.net:27017] [MongoNetworkError: connect ECONNREFUSED 18.194.163.64:27017]’} (node:4920) UnhandledPromiseRejectionWarning: Unhandled promise拒绝(拒绝 id:1):MongoNetworkError:第一次连接时无法连接到服务器 [insight-shard-00-02-quhku.mongodb.net:27017] [MongoNetworkError:连接 ECONNREFUSED 18.194.163.64:27017](节点:4920 ) [DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。

原文由 Lucas Engleder 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 936
2 个回答

我也遇到了类似的问题,我可以通过在集群 -> 安全 -> IP 白名单下添加我的 IP 地址白名单来解决它。不要点击 my current ip address ,只需在谷歌上搜索我的 ip 并粘贴即可。我希望它有效!

原文由 Waweru Kamau 发布,翻译遵循 CC BY-SA 4.0 许可协议

我在连接到 MongoDB Atlas 集群时遇到了这个问题。我不得不两次解决这个问题,因为我在两台不同的计算机(Macbook Pro 和 Windows PC)上处理一个项目。

这是我为解决我的应用程序未连接到集群的问题而想出的所有问题的综合答案。

首先 确保您的 IP 像上述建议一样列入白名单。最简单的解决方案是 0.0.0.0/0 的“所有 IP”白名单

其次,如果您使用的是 VPN,请检查您的 VPN。我在连接到 VPN 时尝试连接到集群。关闭 VPN 后,我就可以连接了。

第三 确保您的互联网设置不会阻止您连接到集群。我家的 Xfinity wifi 安全设置设置得太高,导致无法连接。我认为路由器不允许连接到端口 27017。测试是否发生此问题的一种方法是将计算机连接到手机而不是 wifi,然后尝试连接。我能够使用我的 iPhone 作为互联网热点进行连接。我将我的路由器重置为出厂设置,这解决了这个问题。

原文由 prestondoris 发布,翻译遵循 CC BY-SA 4.0 许可协议

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