我希望在我的Express应用程序中实现cookiestore,我遵循了这个问题
和
对于我的Express 3.x项目,但对于Express 4,不推荐使用connect
中间件。
哪个是connect-mongo的合适替代品?
答案 0 :(得分:8)
中间件已从核心中提取出来并移动了各个模块。这会改变您设置应用程序的方式,但您可以选择使用与以前相同的中间件。解释如何从3.x迁移到4.x的overview列出了可用作Connect中间件替代品的模块。
当您显式安装模块(例如express-session
)时,语法将稍微不同,并且修改app.use
语句以反映这一点。但是,传递给这些模块的选项与Connect中间件的选项相同......因此您可以将connect-mongo
详细信息传递给express-session
并继续推进。
所以你不必改变,除非你原来的问题中还有其他问题不明确......如果你有一个庞大的,已建立的应用程序可能会有其他问题。但是,如果您正在学习本教程,那么您应该尽早完成这不会是一个主要问题。
修改:connect-mongo
github页面上似乎也有discussion about Express 4。有更多关于如何将此模块与新版本的Express ...
编辑2 :在github页面上引用了几次的代码如下所示:
var session = require('express-session');
var MongoStore = require('connect-mongo')(session);
app.use(session({
secret: 'youshouldputyourownsecrethere',
store: new MongoStore({
db : mongoose.connection.db,
})
}));