Nodejs - 快速自定义会话数据未正确保存

时间:2014-10-03 03:56:08

标签: javascript node.js express

我正在尝试使用快速会话在我的用户会话中存储一些数据。

以下是我遇到问题的代码片段。

如你所见,我在req.session中添加了很多项目,在for循环结束时,我发回res.json(200,req.session)。

在客户端的响应中,您会看到包含我添加的所有数据的会话,但在数据库中没有存储任何数据。

} else {
               req.session.user = {
                   username: req.body.username,
                   permissions: {},
                   authorized: true
               };
               for (var i = 0; i < doc.length; i++) {
                   req.session.user.permissions[doc[i]._id] = {
                       _id: doc[i]._id,
                       name: doc[i].name,
                       roles: doc[i].permissions[0].roles
                   };
                   if (i == (doc.length - 1)) {
                       req.session.user.currentapplication = req.session.user.permissions[req.body.application]
                       res.json(200, req.session);
                   }
               }

我已经能够在if:

中取出这一行
 req.session.user.currentapplication = req.session.user.permissions[req.body.application]

这很有效,我之前设置的所有数据都存储在数据库中,但显然不是用户当前的应用程序。

我尝试了另一种方法,其中req.session.user.permissions是一个数组,里面有应用程序对象,但似乎试图在for循环中添加一个或多个对象来杀死它。

任何想法都会受到赞赏,谢谢。

0 个答案:

没有答案