将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
相关产品推荐
相关产品推荐

