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

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

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(“权限:::”+ setOfPermissions)的输出; 是:

权限::: [对象对象]

会话存储在JSON中,所以当你将一个Set分配给session对象时,它将被转移到JSON,当你访问它时,JSON将被parsing成一个对象或者一个数组,没有has()方法。