2011-08-03 25 views
1

比方說我的數據庫封裝代碼看起來是這樣的:的Node.js:從數據庫連接恢復接近

DB.open('localhost', port, function(err, db){ 
    exports.withDatabase = function(callback) { 
    callback(db); 
    } 
}); 

因爲這是一個獨立的模塊,數據庫是開放的只有一次首先需要的時候。這需要在每次訪問時不必打開連接,而且模塊要求是同步的,所以數據庫不會連接多次。但是,如果連接關閉並稍後回來,我如何獲取此代碼以重新連接。

+1

https://github.com /christkv/node-mongodb-native/blob/master/docs/database.md指出有一個'auto_reconnect'選項。你試過這個嗎? – Tomalak

+0

如何使用貓鼬! – Alfred

+0

@Tomolak:我還沒有嘗試過。謝謝,我會試試看。但我的問題更多的是關於設計模式 - 我如何設計當我有像DB連接資源。如果我不阻止重新連接/打開,連接狀態可能會進入無效狀態。 – Suresh

回答

3

The docs狀態,當你創建服務器連接,您既可以使用auto_reconnect選項或反應,當數據庫連接丟失火災「close」事件:

DB.on("close", function(error){ 
    // ... 
});