在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
当然,但我怎么能在每个不同的机器上启动一个新的mongodb实例? 在这种情况下没有远程服务器。每个用户,将在他们的机器上运行这个应用程序,所以,我只是想要一个新的实例.. 有意义吗? – 2014-09-02 12:48:22
然后,您必须将mongodb捆绑到您的应用程序,并在启动应用程序时启动它,并在关闭应用程序时将其杀死。请参阅:http://nodejs.org/api/child_process.html(我不推荐这个)。否则,你必须实现一种集中的方式来处理你的数据(API,远程数据库),或者不使用mongodb通过fs-module使用简单的文件来存储它。 – 2014-09-02 12:53:57
我有点困惑于此..想象这种情况。我的电脑出现问题..我再次从我的存储库下载它,我无法在其他电脑上使用它?即使在开发环境? – 2014-09-02 14:02:27