从express 3.x升级到express 4.x – Mongo会话存储
我正在从express 3.x
迁移到express 4.x
我有问题find与新session
中间件一起使用的mongo会话存储 。
先前:
express 3.x
已经connect
作为一个依赖,这反过来与捆绑的session
中间件。
为了在mongo数据库中保留会话,事实上的中间件是connect-mongo
。
新的世界秩序:
现在express 4.x
, connect
不再是一个依赖项。
因此,几乎所有先前捆绑的中间件已经被分解为单独的中间件,如上面列出的session
。
session
需要一个store
,但由于connect-mongo
依赖于connect
,是不兼容的express 4.x
题:
我无法find迁移到express 4.x
时使用哪个mongo会话存储的信息。 有什么build议么?
connect-mongo
仍然可以在express 4.x
,但是现在你可以通过session
而不是express
Express 3.x:
var express = require('express'); var mongoStore = require('connect-mongo')(express); // note parameter = express
Express 4.x:
var session = require('express-session'); var mongoStore = require('connect-mongo')(session); // note parameter = session
NPM:
不幸的是,在撰写本文时, connect-mongo
的最新版本尚未部署到npm。
编辑:最新版本的connect-mongo
已经部署到npm
你可以直接从github下载最新版本
或者一个解决方法是创build一个临时对象:
{ session: session }
并传递给mongo-connect
:
var mongoStore = require('connect-mongo')({session: session});