会话pipe理,Node + Express和Mongoose模式对象

我正在使用Node.js + Express + Mongoose,并使用Mongoose Schema来存储“会话”数据。 同时,我正在使用“connect-mongodb”进行会话pipe理(本地驱动程序)。

直到今天,我已经意识到我有多余的function。

所以,我试图将我的Schema对象添加到“req.session”。 它似乎工作,但是我在下一个请求中释放了我的Schema对象的Moongosefunction。

我考虑的一个select是存储在'req.session'中的对象的id,然后使用Mongoose来检索它。

我考虑的另一个select是用Mongoose会话pipe理器replace“connect-mongoose”。

你可以帮我做决定,并推荐一个方法。 更具体地说,如果我使用Mongoose解决scheme,是否可以解决与我的Schema对象失去Mongoosefunction的问题?

TIA

我的build议是保持Mongoose完全脱离会话pipe理,只保留req.session会话中的普通JavaScript对象。 这样,您可以像现在一样使用connect-mongodb,或者如果要隔离数据库,可以非常轻松地切换到其他会话存储,如connect-redis 。 如果您需要频繁访问感觉像会话一部分的Mongoose对象,请将这些对象的objectId作为string保存在会话中,以便可以根据需要快速轻松地查找它们。