如何从NodeJS在MongoDB中存储会话? [英] How to store sessions in MongoDB from NodeJS?
本文介绍了如何从NodeJS在MongoDB中存储会话?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用 connect-mongo
模块将 express
中的会话存储在 mongodb
中.像这样使用它:
I use connect-mongo
module to store sessions from express
in mongodb
. Use it like this:
app.use(express.session({
'secret': config.APP_SECRET,
'store': new MongoStore({
'db': db
})
}));
位置:
var MongoStore = require(config.MODULES_DIR + 'connect-mongo')(express);
var db = mongoose.connection; // already connected as i use in in callback
但是当使用会话时,我会收到此错误:
But when session is used i get this error:
TypeError: Object #<Object> has no method 'open'
at MongoStore._open_database (/node_modules/connect-mongo/lib/connect-mongo.js:174:15)
at MongoStore._get_collection (/node_modules/connect-mongo/lib/connect-mongo.js:169:14)
at MongoStore.get (/node_modules/connect-mongo/lib/connect-mongo.js:211:10)
at Object.session [as handle] (/node_modules/express/node_modules/connect/lib/middleware/session.js:314:11)
at next (/node_modules/express/node_modules/connect/lib/proto.js:193:15)
at Object.cookieParser [as handle] (/node_modules/express/node_modules/connect/lib/middleware/cookieParser.js:60:5)
at next (/node_modules/express/node_modules/connect/lib/proto.js:193:15)
at Object.urlencoded [as handle] (/node_modules/express/node_modules/connect/lib/middleware/urlencoded.js:49:37)
at next (/node_modules/express/node_modules/connect/lib/proto.js:193:15)
at Object.json [as handle] (/node_modules/express/node_modules/connect/lib/middleware/json.js:51:37)
推荐答案
If you want to use a Mongoose connection, you need the aptly named mongoose_connection
option:
new MongoStore({
mongoose_connection : db
})
这篇关于如何从NodeJS在MongoDB中存储会话?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文