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

使用Mongoose向MongoDB Compass更新数据时报ReferenceError如何解决

报错修复方案

错误根因

你的代码存在两处问题:

  1. 变量名不匹配:firstEmployee.save的回调函数形参定义为err,但你抛出错误时写的是未定义的error变量,直接触发ReferenceError: error is not defined报错。
  2. 异步逻辑顺序错误:save是异步操作,你在调用save后直接执行db.close(),会不等数据保存完成就提前关闭数据库连接,即使修复了变量问题也会导致保存失败。

修复后代码

db.on("connection", () => console.log("连接成功"));
db.on("disconnect", () => console.log("断开连接成功"));
db.on("error", console.error.bind(console, "连接错误:"));
db.once("open", function () {
  firstEmployee.save(function (err, res) {
    if (err) throw err; // 修正变量名,和形参保持一致
    console.log(res);
    db.close(); // 移到回调内部,保存完成后再关闭连接
  });
});

修改后重新运行即可解决问题。

内容的提问来源于stack exchange,提问作者Akash Jangra

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 23:57:02