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

MERN Stack项目连接MongoDB遇RefrenceError: error is not defined求助

MERN Stack连接MongoDB出现ReferenceError: error is not defined的解决办法

问题根源

这个错误的核心是你在代码中使用了error变量,但该变量并未被声明。绝大多数情况出现在MongoDB连接的错误处理逻辑里,比如catch块未传入错误参数就直接使用error变量。

典型错误代码示例

你大概率写了类似下面的代码:

mongoose.connect(process.env.MONGO_URI)
  .then(() => console.log("数据库连接成功"))
  .catch(() => console.log(error)); // 此处error未定义,直接调用触发报错

修复方案

给catch块补上错误参数声明即可,修改后代码:

mongoose.connect(process.env.MONGO_URI)
  .then(() => console.log("数据库连接成功"))
  .catch((error) => console.log("数据库连接失败:", error));

如果使用async/await写法,需确保catch语句正确接收错误参数:

async function connectDB() {
  try {
    await mongoose.connect(process.env.MONGO_URI);
    console.log("数据库连接成功");
  } catch (error) { // 必须在此处声明error变量
    console.error("数据库连接失败:", error);
    process.exit(1);
  }
}
connectDB();

额外检查点

  • 排查所有错误处理逻辑,确保每个catch块都正确声明了错误变量,不要漏传参数
  • 错误提示里的RefrenceError是拼写失误,正确应为ReferenceError,不影响问题定位
  • 修复变量问题后,确认MONGO_URI环境变量配置正确,避免出现其他连接故障

内容的提问来源于stack exchange,提问作者Furqan Saify

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 18:52:39