求一个mongodb 存储 session的模块
发布于 10 年前 作者 hc2014 14289 次浏览 最后一次编辑是 8 年前 来自 问答

各位前辈!网上有找过,但是不确定是否好用也不确定是否过时,N多个不确定,所以在这里发帖。 我想用mongo 存储session 不知道有没有比较好的模块可以推荐一下? 先谢过~

24 回复

我写的代码i这样的

var MongoStore = require('connect-mongodb');
var MyMongo = require(__dirname+'/conDB.js').MyMongo;//这个中间件 是我自定义的链接mongodb 模块
var db = new MyMongo('localhost', 27017, 'user');
var session = require('express-session')
 app.use(session({ store: new MongoStore({db: db}), cookie: {maxAge: 60000 * 20},secret: 'foo' }));

但是这样写的话server 报错了, C:\Users\hc>node C:\Users\hc\Desktop\node_dian\server.js express-session deprecated undefined resave option; provide resave option Deskto p\node_dian\server.js:19:10 express-session deprecated undefined saveUninitialized option; provide saveUnini tialized option Desktop\node_dian\server.js:19:10 @ townmi

@hc2014 var session = requrie(‘express-session’); 少了分号;????????

@hc2014 看 cnode 的实现吧

@alsotang 能把github地址发一下吗?

@alsotang 不是伸手党,我再这个论坛问的每一个问题,都是我自己事先已经弄过了,只是没弄出来才过来问的,这一点得 申明一下。就像我在github 搜没搜到整个项目的文件 用cnode 和cnodejs 关键字都没得 谁知道关键字是nodeclub呢

var session = require(‘express-session’); var MongoStore = require(‘connect-mongo’)(session);

app.use(logger(‘dev’)); app.use(bodyParser.json()); app.use(bodyParser.urlencoded()); app.use(express.static(path.join(__dirname, ‘…/public’))); app.use(cookieParser(‘metro’)); app.use(session({cookie:{maxAge:3600000},secret:secretkey,store:new MongoStore({db:secretkey})})); app.use(routes);

其实我就想说。你怎么就不能看下README.MD再来。 express4.x+的变更。

@hc2014 嗯嗯,既然有这意识。。应该也不会是。误会了。 不过还是可以搜到的。 QQ20140909-1.png

@MiguelValentine 看来 4.x 真是坑了很多人

@MiguelValentine o(╯□╰)o 其实我就是抄的 session connec-mongodb

@alsotang 我知道为什么这么多人会膜拜你了,你身上有一种碰到问题一定会立马解决的精神,我也要跟着队伍赶紧膜拜一下, 点个赞!!!

@hc2014 。。。。。。别黑。。我只是以为遇到了伸手党而已。。

@hc2014 我一个人建站这么久,所有问题都是自己解决掉的- -。从不伸手,只共享。

npm和官方的Github都写清楚了的。。。

@alsotang 呵呵,没事,目前主要 事情是把这知识点给搞定,不然白折腾了

@MiguelValentine 先给你点个赞,然后,刚刚我想表达的是"我就是看官方文档的例子来写的!"

哎呀,我擦咧,终于找到原因了.首先还是得谢谢@alsotang@MiguelValentine ,我知道我的代码问题在哪了,就是引用错了. 我引用的是connec-mongodb 而你们给我贴的代码 和nodeclub的源码用的是connec-mongo。长的太像了…

回到顶部