在NodeJS中管理持久性会话

问题描述:

我试图设置一个非常基本的会话管理器。所以,我首先来使用此代码:在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]..." 

你知道什么可能是错的吗?

这里最明显的错误是:在另一台机器上没有运行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