如何使用Angular.js和MongoDb在Node.js中设置Session变量

时间:2014-10-07 15:15:31

标签: node.js session express

我在node.js中设置会话变量有问题,我们在后端使用MongoDb,在前端使用Angular.js。

获取错误 错误:大多数中间件(如会话)不再与Express捆绑,必须  单独安装。请参阅https://github.com/senchalabs/connect#middleware

请指导我。

1 个答案:

答案 0 :(得分:0)

你需要使用cookie解析器,快速会话,mongodb作为会话存储,它很容易在快递中配置。

在您的快速配置中:

var session = require('express-session'),
cookieParser = require('cookie-parser'),
mongoStore = require('connect-mongo')({
        session: session
    });

module.exports = function(db) {
var app = express();
    // CookieParser should be above session
        var cp =cookieParser;
        app.use(cp());

        // Express MongoDB session storage
        var mStore = new mongoStore({
                db: db.connection.db,
                collection: 'sessions'
            });

        app.use(session({
            secret: 'any random string',
            store: mStore,
            cookie: {httpOnly: false}, //optional
            key:config.'connect.sid',
        }));
};

其中db是你的数据库实例(它可能是mongoose)

var db = mongoose.connect('mongodb://your.ip/database.name');

您可以覆盖建议的所有配置。