【问题标题】:Mongoose Can't Connect Without InternetMongoose 无法在没有互联网的情况下连接
【发布时间】:2015-05-24 13:37:56
【问题描述】:

我的 MongoDB 服务器在 localhost:27017 上运行,虽然我通常可以正常运行我的 Node.js 应用程序,但当我断开互联网连接时,Mongoose 会抛出错误

Error: failed to connect to [localhost:27017]

请注意,我仍然可以从 Mongo shell 客户端连接到 MongoDB 服务器。此外,如果我先启动我的应用程序然后失去互联网连接,我的应用程序可以离线访问数据库。那么为什么它不能在没有互联网的情况下启动呢?

编辑:这是完整的错误

events.js:85
      throw er; // Unhandled 'error' event
            ^
Error: failed to connect to [localhost:27017]
    at null.<anonymous> (<My App>\node_modules\mongoose\
node_modules\mongodb\lib\mongodb\connection\server.js:555:74)
    at emit (events.js:118:17)
    at null.<anonymous> (<My App>\node_modules\mongoose\
node_modules\mongodb\lib\mongodb\connection\connection_pool.js:156:15)
    at emit (events.js:110:17)
    at Socket.<anonymous> (<My App>\node_modules\mongoos
e\node_modules\mongodb\lib\mongodb\connection\connection.js:534:10)
    at Socket.emit (events.js:107:17)
    at net.js:923:16
    at process._tickCallback (node.js:355:11)
[nodemon] app crashed - waiting for file changes before starting...

编辑:措辞

【问题讨论】:

  • 你遇到了什么错误?
  • @YankiTwizzy 查看我的编辑
  • 当您说“断开互联网连接”时,您的意思是拔掉网线还是在操作系统级别关闭网卡?
  • 与所有 wifi 网络断开连接
  • 会不会是节点绑定的IP?您是否尝试过强制节点绑定到 127.0.0.1?

标签: node.js mongodb mongoose


【解决方案1】:

使用 127.0.0.1 而不是 localhost。通过关闭您的 wifi 接口,操作系统不再能够解析 localhost。

【讨论】:

  • 只是想知道,如果我的浏览器可以,mongoose 为什么离线时无法解析本地主机?
  • 我怀疑您使用的是 Windows?这可能会帮助explain
  • 大家好,我有一台离线笔记本电脑,没有连接到任何路由器。我没有 IP 地址,所以我使用了 Windows 环回适配器。 technet.microsoft.com/en-us/library/cc708322(v=ws.10).aspx 但是当我运行 mongo.exe 时,连接 127.0.0.1 失败。如果进程根本没有运行,我该如何配置 mongo.exe?
【解决方案2】:

考虑node-offline-localhost

在破解代码前添加以下内容:

require('node-offline-localhost').always();

而且它可以正常工作(希望如此),至少在RFC 3493 得到fixed 之前。

完全披露:我编写这个包是为了在离线时简化我的开发环境中的 https。

【讨论】:

    猜你喜欢
    • 2012-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-03
    相关资源
    最近更新 更多