Octobus-mongodb-store 是一个基于 MongoDB 的 session 存储库,是在 Express 应用程序中使用授权和认证所必需的。本文将介绍使用该 npm 包的详细教程和注意事项。
安装
首先,需要在本地安装 MongoDB 数据库,若未安装可官网下载安装,安装包适用于 Windows 和 macOS 等操作系统。然后,使用 npm 安装 octobus-mongodb-store:
--- ------- --------------------- ------
安装完成后,在项目中引入:
----- ------- - --------------------------- ----- ------------ - ------------------------------------------
使用
使用 MongoDB-store 前,需要先连接 MongoDB 数据库:
----- -------- - -------------------- -------------------------------------------- - ---------------- ----- ------------------- ----- --------------- ----- ---
然后,使用 mongodb-store
的构造函数创建一个新的 session 存储库,并将其传递给 express-session 的 session
函数:
----- ----- - --- -------------- ---- --------------------------- ----------- ----------- --- -------- --------- ------- ----------- ------- ------ ------------------ ----- ------ ------ -- --
注意事项
MongoDB 连接
当您使用连接字符串时,请确保正确设置以下选项:
- useNewUrlParser:使用新 URL 解析器。
- useUnifiedTopology:使用新的服务器发现和监视引擎。
- useCreateIndex:当使用 mongoose.Schema 时,保证了 MongoDB 中的创建索引操作使用集合(否则会在控制台中看到错误消息)。
使用 expires
如果您的 session 是有过期时间的,建议将 expires
值设置为一个日期,而不是一个数值。例如:
----- ----- - --- -------------- ---- --------------------------- ----------- ----------- -------- --- --------------- - -- - -- - ------ -- - ---- ---
这样能确保对日期的更改会在存储库中更新 expires
的值。
关闭 MongoDB 连接
如果您手动关闭连接,则必须手动将 session 存储库释放。在 on
事件上,store 将尝试自动释放存储库,因此请确保监听此事件:
----- ------- - ------------------- ----- ------- - --------------------------- ----- ------------ - ------------------------------------------ ----- -------- - -------------------- ----- --- - ---------- -------------------------------------------- - ---------------- ----- ------------------- ----- --------------- ----- --- ----- -- - -------------------- -------------- --------------------------- ----------- ---------- ------------- -------- -- - ----------------------- ---------- ---- ---------------- -- -- ---------------- -- ---------- -- ---- ----------- --- ----- ----- - --- -------------- ---- --------------------------- ----------- ----------- --- ----------------- -------- ------- - ---------------------- ------------------- ----------------------- --------- ----------- --- -------- --------- ------- ----------- ------- ------ ------------------ ----- ------ ------ -- --
示例代码
----- ------- - --------------------------- ----- ------------ - ------------------------------------------ ----- -------- - -------------------- ----- ------- - ------------------- ----- --- - ---------- -------------------------------------------- - ---------------- ----- ------------------- ----- --------------- ----- --- ----- -- - -------------------- -------------- --------------------------- ----------- ---------- ------------- -------- -- - ----------------------- ---------- ---- ---------------- -- -- ---------------- -- ---------- -- ---- ----------- --- ----- ----- - --- -------------- ---- --------------------------- ----------- ----------- --- ----------------- -------- ------- - ---------------------- ------------------- ----------------------- --------- ----------- --- -------- --------- ------- ----------- ------- ------ ------------------ ----- ------ ------ -- --
总结
在 Express 应用程序中,使用 Octobus-mongodb-store 可以帮助我们更好地管理用户的 session,保证用户的信息安全,而本文提供的使用教程和注意事项旨在帮助读者更好地了解和使用该 npm 包。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60055b7d81e8991b448d904a