NextAuth v3对接MongoDB存储用户数据出现mongodb版本不兼容错误
问题原因
报错是NextAuth v3 内置 MongoDB 适配器与你安装的 mongodb 驱动版本不兼容导致:
- NextAuth v3 内置适配逻辑仅兼容 mongodb 驱动 3.x 版本,版本要求为 ^3.5.9
- 当前安装的 mongodb 驱动为 4.1.2 版本,大版本迭代后API发生不兼容变更,无法被内置适配器识别
其他业务逻辑可正常操作MongoDB,是因为你自行编写的数据库操作适配了4.x版本API,和NextAuth内置适配逻辑相互独立。
解决方案
方案1:降级mongodb驱动到符合要求的3.x版本
卸载现有高版本驱动,安装3.x分支最新稳定版即可,操作命令如下:
# 卸载现有mongodb包 npm uninstall mongodb # 安装适配版本 npm install mongodb@3.7.3
安装完成后重启项目,现有配置无需额外修改即可正常运行。
方案2:保留mongodb 4.x版本,自定义适配器
如果不想降级驱动,可放弃NextAuth v3内置的数据库配置,自行编写适配mongodb 4.x的持久化逻辑:
- 删掉配置中的
database字段 - 自行实现用户、会话、账号等核心数据的增删改查逻辑,符合NextAuth的适配器规范
- 在NextAuth配置中新增
adapter参数,挂载你编写的自定义适配器即可
内容的提问来源于stack exchange,提问作者Vpp Man
相关产品推荐
相关产品推荐

