如何使用Node.js将JSON文件中的数据插入MongoDB数据库
Node.js导入JSON数据到MongoDB操作指南
1. 前期准备
先安装所需依赖,这里用常用的Mongoose作为MongoDB操作工具,在项目目录执行以下命令:npm install mongoose
2. 完整实现代码
const fs = require('fs/promises'); const mongoose = require('mongoose'); // 定义和你JSON结构对应的Schema const dataSchema = new mongoose.Schema({ end_year: String, intensity: Number, sector: String, topic: String, insight: String, url: String, region: String, start_year: String, impact: String, added: String, published: String, country: String, relevance: Number, pestle: String, source: String, title: String, likelihood: Number }); const DataModel = mongoose.model('energy_data', dataSchema); async function runImport() { try { // 连接MongoDB,替换为你自己的数据库连接信息 await mongoose.connect('mongodb://localhost:27017/your_database_name', { useNewUrlParser: true, useUnifiedTopology: true }); console.log('数据库连接成功'); // 读取本地JSON文件,替换为你的JSON文件实际路径 const jsonRaw = await fs.readFile('./your_data.json', 'utf8'); const dataList = JSON.parse(jsonRaw); // 批量插入数据 const res = await DataModel.insertMany(dataList, { ordered: false }); console.log(`插入完成,共成功插入${res.length}条数据`); } catch (error) { console.error('导入失败,错误信息:', error); } finally { // 关闭数据库连接 await mongoose.disconnect(); } } runImport();
3. 注意事项
- 替换代码中的数据库连接地址、库名、JSON文件路径为你自己的实际配置
- 如果MongoDB开启了身份校验,连接地址需要调整为
mongodb://用户名:密码@host:端口/库名的格式 - 执行前请先校验你的JSON文件格式是否合法,避免JSON解析失败
- insertMany方法的
ordered: false配置表示插入过程中某条数据出错不会中断后续数据的插入,如果你需要严格的全成功或全失败,可以去掉该配置
内容的提问来源于stack exchange,提问作者Omkar Joshi
相关产品推荐
相关产品推荐

