2012-06-22 101 views
0

沒有mongo服務器或任何服務器或任何服務在該ip:端口上運行,但我們仍然遇到這種錯誤。無法連接到Mongo服務器

(lockerdb) Database connection error: { [Error: failed to connect to [127.0.0.1:10004]] 
    [stack]: [Getter/Setter], 
    [message]: 'failed to connect to [127.0.0.1:10004]', 
    [arguments]: undefined, 
    [type]: undefined } 


node.js:201 

     throw e; // process.nextTick error, or 'error' event on first tick 






     ^

TypeError: Cannot call method 'close' of null 
    at /home/<user>/Documents/Server_v1/ssc/ssc-lac/lac-util.js:1653:15 
    at /home/<user>/node_modules/mongodb/lib/mongodb/db.js:247:16 
    at [object Object].<anonymous> (/home/<user>/node_modules/mongodb/lib/mongodb/connection/server.js:383:7) 
    at [object Object].emit (events.js:88:20) 
    at [object Object].<anonymous> (/home/<user>/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:93:15) 
    at [object Object].emit (events.js:70:17) 
    at Socket.<anonymous> (/home/<user>/node_modules/mongodb/lib/mongodb/connection/connection.js:385:10) 
    at Socket.emit (events.js:67:17) 
    at Array.0 (net.js:319:25) 
    at EventEmitter._tickCallback (node.js:192:41) 

什麼可能是這個錯誤的原因?

+0

我修改了一些隱私字符串:D –

回答

0

您很可能仍然嘗試連接到該端口上的服務。

默認行爲是嘗試連接,當它不能連接時,它會死亡,並顯示類似您看到的錯誤。這是出於安全原因,因爲連接錯誤90%的時間意味着一個倒下的數據庫(就像它在你的情況),這是不好的,不應該被忽略。

解決此錯誤的最簡單方法是連接塊爲try catch,以瞭解何時收到連接錯誤並執行相關操作。