【问题标题】:Session Management, Node+Express, and Mongoose Schema Objects会话管理、Node+Express 和 Mongoose 模式对象
【发布时间】:2012-08-26 11:55:39
【问题描述】:

我正在使用 Node.js + Express + Mongoose,并且有一个用于存储“会话”数据的 Mongoose Schema。同时我正在使用“connect-mongodb”进行会话管理(本机驱动程序)。

直到今天我才意识到我有多余的功能。

所以,我尝试将我的 Schema 对象添加到“req.session”。它似乎有效,但我在下一个请求中失去了 Schema 对象的 Moongose 功能。

我考虑的一个选择是将对象的 id 存储在“req.session”中,然后使用 Mongoose 检索它。

我考虑的另一个选择是将“connect-mongoose”替换为 Mongoose 会话管理器。

你能帮我做决定吗,并推荐一个方法。更具体地说,如果我使用 Mongoose 解决方案,它会解决我的 Schema 对象失去 Mongoose 功能的问题吗?

TIA

【问题讨论】:

    标签: node.js session express mongoose


    【解决方案1】:

    我的建议是将 Mongoose 完全排除在会话管理之外,并且只在 req.session 的会话中保留纯 JavaScript 对象。这样,您可以像现在一样使用 connect-mongodb,或者如果您想隔离数据库,可以非常轻松地切换到其他会话存储,例如 connect-redis。如果您需要经常访问感觉像是会话一部分的 Mongoose 对象,请将这些对象的 objectIds 保存为会话中的字符串,以便可以根据需要快速轻松地查找它们。

    【讨论】:

      猜你喜欢
      • 2014-04-11
      • 2020-11-05
      • 2021-12-20
      • 2015-04-15
      • 2016-06-25
      • 2014-10-12
      • 2012-08-03
      • 2017-08-05
      • 2018-02-28
      相关资源
      最近更新 更多