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

将JSON数据导入MongoDB时报错:TypeError: Cannot read properties of undefined

解决MongoDB数据导入时的TypeError问题

问题根源

报错TypeError: Cannot read properties of undefined (reading 'replace')是因为process.env.DATABASE的值为undefined,代码无法对未定义的值调用replace方法,本质是Node.js未正确读取到环境变量配置。

解决步骤

  • 安装并配置dotenv包
    若项目未安装dotenv,先执行安装命令:

    npm install dotenv
    

    然后在import-dev-data.js文件最顶部添加加载代码:

    // CommonJS模块
    require('dotenv').config();
    
    // 若使用ES模块
    // import dotenv from 'dotenv';
    // dotenv.config();
    
  • 检查.env文件配置
    确保项目根目录下存在.env文件,且内容包含正确的数据库配置:

    DATABASE=mongodb+srv://<your-username>:<PASSWORD>@cluster-address/your-db-name
    DATABASE_PASSWORD=your-real-db-password
    

    注意:将<your-username>、<PASSWORD>、cluster-address、your-db-name替换为你自己的MongoDB连接信息,DATABASE_PASSWORD填写实际数据库密码。同时把.env加入.gitignore,避免敏感信息泄露。

  • 验证环境变量加载情况
    在import-dev-data.js中添加调试代码,确认环境变量是否读取成功:

    console.log('DATABASE变量值:', process.env.DATABASE);
    

    重新执行导入命令,查看控制台输出是否为正确的MongoDB连接字符串。

  • 确认命令执行目录
    确保在项目根目录下执行导入命令,否则dotenv可能无法找到.env文件:

    cd /home/manudev/Desktop/Rita/Server
    node dev-data/import-dev-data.js --import
    

内容的提问来源于stack exchange,提问作者EMMANUEL GETANGE

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 14:37:53