在我的node.js应用程序中,我正在尝试将会话数据存储在mongoDB数据库中。
但是connect-mongo的使用对我来说有点令人费解,我希望有人能够向我解释正确的用法,以及下面引用的所有其他用法。
本教程http://blog.modulus.io/nodejs-and-express-sessions告诉它像这样使用它
var express = require('express');
var app = express();
var MongoStore = require('connect-mongo')(express);
app.use(express.cookieParser());
app.use(express.session({
store: new MongoStore({
url: 'mongodb://root:myPassword@mongo.onmodulus.net:27017/3xam9l3'
}),
secret: '1234567890QWERTY'
}));
//...
但是主插件网站就像这样使用它
var express = require('express');
var MongoStore = require('connect-mongo')(express);
app.use(express.session({
secret: settings.cookie_secret,
store: new MongoStore({
db: settings.db
})
}));
它以不同的方式使用 store
..
但是,我过去曾经使用过它,虽然我现在无法使用它,但我有点像这样使用
var SessionStore = require('connect-mongo')(express);
// not sure exactly what was assigned, but this same variable name was used below..
app.configure(function() {
...
app.use(express.session({
secret: secretSauce,
store: SessionStore, // < ..here
}));
...
});
我的老路对我来说似乎更优雅,但它不能正常工作。而且我无法理解前两个例子中发生了什么,为什么它们如此不同。有人可以解释我需要做些什么从这两个到达我的?
答案 0 :(得分:1)
这让它运转了
var MongoStore = require('connect-mongo')(express);
var SessionStore = new MongoStore({
db: 'SessionStore'
});
app.use(express.session({
secret: secretSauce,
store: SessionStore,
}));