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

MongoDB 6.0运行报ReferenceError: data is not defined如何修复

问题修复方案

报错根因

mongoose.connect()执行成功后返回的连接实例需要通过then()回调的参数接收,你代码中直接使用了未声明的data变量,因此触发ReferenceError。

修复代码

替换你的database.js为以下内容即可:

const mongoose = require("mongoose");
const connectDatabase = () => {
    mongoose.connect(process.env.DB_URI)
    .then((data) => { // 新增data参数接收连接返回的实例对象
        console.log(`Mongodb connected with server: ${data.connection.host}`);
    })
    .catch((err) => {
        console.log(err)
    })
}
module.exports = connectDatabase

额外注意事项

  • MongoDB 6.0+适配的Mongoose版本默认已经开启useNewUrlParser、useUnifiedTopology等兼容配置,无需额外在connect方法中传入配置参数
  • 请确保你的项目入口文件(如报错信息中的server.js)最顶部已经引入dotenv加载环境变量,示例如下:
    require('dotenv').config()
    // 后续再引入其他依赖和启动逻辑
    
    同时确认项目根目录存在.env文件,且文件内已正确配置DB_URI为你的MongoDB连接地址。

内容的提问来源于stack exchange,提问作者Minh Tuấn Ngô

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 21:45:03