在Express js会话中存储实例

时间:2014-05-22 02:59:17

标签: node.js session express instance

我正在使用expressjs会话,我有一个实例需要存储:

function a(){this.name="";}
var ins = new a();
req.session['user'] = ins;

当我下次获得res.session [' user']时,该对象不是a的实例,并且它无法访问a中的任何原型方法, 我如何在会话中存储对象的引用,看起来会话将其转换为json对象

2 个答案:

答案 0 :(得分:3)

除非:

,否则无法在JSON中存储此类实例
  • 您提供自己的自定义序列化程序(在您的类/对象中实现toJSON()函数)
  • 您还可以识别序列化对象,并在传递给JSON.parse()的reviver函数中实例化一个新实例。

答案 1 :(得分:1)

您可以做的一件事是创建一个实例/会话地图,您可以通过session.id识别,我在这里写博客:

https://tomblanchard.co.uk/storing-instances-in-express-sessions/