是否可以在快速会话中将一组或其他数据结构存储为会话变量?

时间:2017-10-03 05:37:53

标签: javascript node.js session express-session

我尝试在会话变量中保存一个集合:

                var rowLength = result.rows.length;
                var setOfPermissions = new Set();
                for (var i = 0; i < rowLength; i++) {
                    var permission = result.rows[i].permission;
                    setOfPermissions.add(permission);
                }

                req.session.permissions = setOfPermissions;

但稍后当我尝试访问它时:

    var setOfPermissions = req.session.permissions;
    if(setOfPermissions.has('my permission')) //Error over here

我收到以下错误:

  

TypeError:setOfPermissions.has不是函数

编辑:console.log的输出(&#34; permissions :::&#34; + setOfPermissions);  是:

  

permissions ::: [object Object]

1 个答案:

答案 0 :(得分:1)

会话存储在JSON中,因此当您将一个Set分配给会话对象时,它将被转移到JSON,当您访问它以检索它时,JSON将被解析为一个对象或一个数组,由方式,没有has()方法。