从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.xconnect不再是一个依赖项。

因此,几乎所有先前捆绑的中间件已经被分解为单独的中间件,如上面列出的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});