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

问题描述:

我在node.js中设置会话变量时遇到问题,我们在后端使用MongoDb,在前端使用Angular.js。如何使用Angular.js和MongoDb在Node.js中设置会话变量

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

请指导我。

+0

你对我们的期望是什么,如果你还没有显示任何代码...... – 2014-10-07 15:19:49

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

在快速配置:

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是您的数据库实例(也可能是猫鼬)

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

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

+0

谢谢@ jack.the.ripper。由于我是node.js中的新手,在key:config.'connect.sid中出错,请你解释一下吗? – Pradnya 2014-10-08 12:02:17

+0

这就是你的连接字符串,看看我的更新 – 2014-10-08 16:21:16

+0

谢谢jack.the.ripper – Pradnya 2014-10-12 06:55:21