2014-09-02 114 views
0

我試圖設置一個非常基本的會話管理器。所以,我首先來使用此代碼:在NodeJS中管理持久性會話

var session  = require('express-session'); 
var MongoStore = require('connect-mongo')(session); 

// define session store 
app.use(session({ 
    secret: 'meh', 
    saveUninitialized: true, 
    resave: true, 
    store: new MongoStore({ 
     db : 'express' 
    }) 
})); 

我目前的設置是用的NodeJS本地安裝的所有模塊/ express4。 現在,我怎麼能分享這個應用程序沒有問題connect-mongo?因爲,如果我在其他機器上運行它,我得到這個錯誤:

"error connection to database:failed to connect to [127.0.0.1:27017]..." 

你知道什麼可能是錯的嗎?

回答

0

這裏最明顯的錯誤是:在另一臺機器上沒有運行MongoDB實例。

如果你想連接到遠程服務器,你必須指定位置和(希望)憑據。看看:https://github.com/kcbanner/connect-mongo#options

+0

當然,但我怎麼能在每個不同的機器上啓動一個新的mongodb實例? 在這種情況下沒有遠程服務器。每個用戶,將在他們的機器上運行這個應用程序,所以,我只是想要一個新的實例.. 有意義嗎? – 2014-09-02 12:48:22

+1

然後,您必須將mongodb捆綁到您的應用程序,並在啓動應用程序時啓動它,並在關閉應用程序時將其殺死。請參閱:http://nodejs.org/api/child_process.html(我不推薦這個)。否則,你必須實現一種集中的方式來處理你的數據(API,遠程數據庫),或者不使用mongodb通過fs-module使用簡單的文件來存儲它。 – 2014-09-02 12:53:57

+0

我有點困惑於此..想象這種情況。我的電腦出現問題..我再次從我的存儲庫下載它,我無法在其他電腦上使用它?即使在開發環境? – 2014-09-02 14:02:27