使用 express-session 和 connect-mongo 模块实现了将会话信息存储到mongodb中。
npm install express-session --save
npm install connect-mongo --save
var settings = require('./settings');
var session = require('express-session');
var MongoStore = require('connect-mongo')(session);
app.use(session({
secret: settings.cookieSecret,//secret 用来防止篡改 cookie
key: settings.db,//key 的值为 cookie 的名字
cookie: {maxAge: 1000 * 60 * 60 * 24 * 30},//设定 cookie 的生存期,这里我们设置 cookie 的生存期为 30 天
resave:true,
saveUninitialized:true,
store: new MongoStore({ //设置它的 store 参数为 MongoStore 实例,把会话信息存储到数据库中,以避免重启服务器时会话丢失
db: settings.db,
host: settings.host,
port: settings.port,
})
}));
添加完了以后我们就可以路由中通过request.session来操作会话对象了.