You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

导入Mongoose致执行中断,出现Unexpected token '?'语法错误

解决导入Mongoose时出现的SyntaxError问题

问题根源

报错中的??是空值合并运算符,属于ES2020语法特性,你当前使用的Node.js版本不支持该语法。而你安装的Mongoose依赖的mongodb驱动已使用该特性,因此仅导入Mongoose就会触发错误。

解决方案

方案1:升级Node.js版本

  • 先运行node -v查看当前Node.js版本,升级到支持ES2020的版本(推荐Node.js 14.0.0+,更建议直接安装LTS版本如20.x)
  • 完成版本升级后,执行以下步骤清理并重装依赖:
    1. 删除项目目录下的node_modules文件夹
    2. 删除package-lock.json(若使用yarn则删除yarn.lock)
    3. 运行npm install重新安装所有依赖

方案2:降级Mongoose到兼容版本

如果无法升级Node.js,根据你的Node.js版本选择对应兼容的Mongoose版本:

  • Node.js 12.x:执行npm install mongoose@6安装Mongoose 6.x版本
  • Node.js 10.x:执行npm install mongoose@5安装Mongoose 5.x版本
  • 安装完成后重新启动项目即可

内容的提问来源于stack exchange,提问作者Gaspar Liboreiro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 10:32:44