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

如何使用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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 21:18:01