猫鼬无法连接互联网

时间:2015-03-21 02:09:54

标签: node.js mongodb mongoose

我在localhost:27017上运行我的MongoDB服务器,虽然我通常可以运行我的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...

编辑:措辞

2 个答案:

答案 0 :(得分:31)

使用127.0.0.1而不是localhost。通过关闭wifi界面,操作系统无法再解析本地主机。

答案 1 :(得分:0)

考虑node-offline-localhost

在中断代码之前添加以下内容:

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

它只是有效(希望如此),至少在RFC 3493获得fixed之前。

完全披露:我创建了此软件包,以便在离线时简化我的开发环境中的https。