跳到主要内容

导入/导出

「文档型数据库」提供完善的数据导入/导出功能,帮助您快速完成数据迁移、备份和分析等任务。本文档将详细介绍如何使用集合管理功能进行数据的导入和导出操作。

数据导入

「数据导入」功能支持批量导入数据,帮助您快速迁移现有数据或初始化测试数据。

操作步骤

  1. 进入集合管理:访问 云开发平台/文档型数据库/集合管理 ,选择目标集合

  2. 开始导入:点击「导入」按钮

  3. 选择文件:上传准备好的数据文件(支持 JSON 和 CSV 格式)

  4. 配置导入参数

    • 选择文件格式(JSON 或 CSV)
    • 选择冲突处理模式(Insert 或 Upsert)
  5. 执行导入:确认配置后,点击「导入」开始数据导入

集合管理-数据导入操作界面

冲突处理模式

导入数据时,您需要选择合适的冲突处理模式来决定如何处理已存在的记录:

模式处理方式适用场景使用注意
Insert总是插入新记录• 全新数据导入
• 数据初始化
导入文件中不能包含与数据库中相同的 _id
Upsert存在则更新,不存在则插入• 数据更新
• 增量导入
• 数据同步
基于 _id 字段判断记录是否存在
模式选择建议
  • 首次导入:推荐使用 Insert 模式,确保数据完整导入,避免意外覆盖
  • 数据更新:推荐使用 Upsert 模式,支持增量更新,避免重复数据
  • 定期同步:使用 Upsert 模式,实现数据的持续同步更新

支持的文件格式

JSON 格式

编码要求:UTF-8 编码
格式说明:采用 JSON Lines 格式,每行一个完整的 JSON 对象

示例文件

{"_id": "user_001", "name": "张三", "age": 25, "email": "zhang@example.com", "role": "admin"}
{"_id": "user_002", "name": "李四", "age": 30, "email": "li@example.com", "role": "editor"}
{"_id": "user_003", "name": "王五", "age": 28, "email": "wang@example.com", "role": "viewer"}

格式特点

  • 每行代表一条独立的数据记录
  • 支持嵌套对象和数组结构
  • 完整保留数据类型信息

CSV 格式

编码要求:UTF-8 编码
格式说明:标准 CSV 格式,第一行为字段名(表头),后续行为数据记录

示例文件

_id,name,age,email,role
user_001,张三,25,zhang@example.com,admin
user_002,李四,30,li@example.com,editor
user_003,王五,28,wang@example.com,viewer

格式特点

  • 结构简单,易于使用 Excel 等工具编辑
  • 适合扁平化的表格数据
  • 字段名和数据用逗号分隔

格式要求与限制

JSON 格式规范

规范项具体要求正确示例错误示例
记录分隔使用换行符 \n 分隔每条记录每行一个 JSON 对象多个对象写在同一行
字段命名首尾不能是 .,不能包含连续的 ..nameuser.iddata.info.namename.a..b
键名唯一同一对象内不能有重复的键名{"id": 1, "name": "张三"}{"a": 1, "a": 2}
时间格式使用 MongoDB ISODate 格式{"date": {"$date": "2024-01-15T10:30:00.882Z"}}{"date": "2024-01-15"}

数据完整性要求

导入模式_id 字段要求详细说明
Insert 模式不能重复• 导入文件内部的 _id 不能重复
• 导入文件中的 _id 不能与数据库现有记录重复
Upsert 模式允许重复• 文件中的 _id 与数据库现有记录相同时,会更新该记录
• 文件中的 _id 不存在时,会插入新记录

⚠️ 重要提示

  • 如果不指定 _id 字段,系统会自动生成唯一的 _id
  • 导入前建议先备份数据,避免误操作导致数据丢失

导入结果说明

导入完成后,系统会显示详细的导入统计信息:

  • 成功导入记录数:已成功写入数据库的记录数量
  • 失败记录数:导入失败的记录数量
  • 失败原因:具体的错误信息(如格式错误、_id 重复等)
  • 跳过记录数:在 Insert 模式下因 _id 重复而跳过的记录

数据导出

「数据导出」功能支持将集合数据导出为文件,便于数据备份、分析或迁移到其他系统。

操作步骤

  1. 进入集合管理:访问 云开发平台/文档型数据库/集合管理 ,选择要导出的集合

  2. 开始导出:点击「导出」按钮

  3. 配置导出参数

    • 选择导出格式(JSON 或 CSV)
    • 设置字段范围(可选)
    • 选择保存位置
  4. 执行导出:确认配置后,点击「导出」开始数据导出

  5. 下载文件:导出完成后,下载生成的文件到本地

导出格式配置

JSON 格式

适用场景

  • 数据完整备份
  • 跨系统数据迁移
  • 保留完整数据结构

格式特点

  • 完整保留数据类型和结构信息
  • 支持嵌套对象和数组
  • 导出文件可直接用于导入操作

字段配置

  • 不指定字段:导出集合的所有字段和数据(推荐用于备份)
  • 指定字段:只导出指定的字段,减小文件体积

导出示例

{"_id": "user_001", "name": "张三", "profile": {"age": 25, "city": "北京"}, "tags": ["vip", "active"]}
{"_id": "user_002", "name": "李四", "profile": {"age": 30, "city": "上海"}, "tags": ["normal"]}

CSV 格式

适用场景

  • 数据分析和统计
  • Excel 导入处理
  • 生成数据报表

格式特点

  • 表格结构,易于阅读
  • 兼容 Excel、Numbers 等办公软件
  • 数据会被扁平化处理

字段配置

  • 必须指定字段:CSV 格式要求明确指定需要导出的字段列表
  • 嵌套字段访问:使用点表示法访问嵌套对象,如 profile.ageprofile.city

字段配置示例

_id, name, age, email

_id, name, profile.age, profile.city, createdAt, updatedAt

导出示例

_id,name,age,email
user_001,张三,25,zhang@example.com
user_002,李四,30,li@example.com

导出格式对比

对比项JSON 格式CSV 格式
字段指定可选(默认导出全部)必须指定
数据完整性完整保留所有类型和结构扁平化处理,丢失嵌套结构
文件体积相对较大相对较小
可读性适合技术人员适合业务人员
再导入可直接导入需要转换格式
适用工具代码编辑器、数据库工具Excel、Numbers、数据分析工具

使用场景与最佳实践

使用场景推荐格式配置建议说明
数据完整备份JSON不指定字段,导出全部数据保留完整数据结构,便于恢复
跨系统迁移JSON不指定字段确保数据迁移的完整性
数据分析CSV指定需要分析的字段便于使用 Excel 等工具处理
生成报表CSV指定报表所需字段快速生成业务报表
大数据导出JSON 或 CSV分批导出,每批 1-5 万条避免单次导出数据量过大
嵌套数据导出JSON不指定字段CSV 无法完整保留嵌套结构
导出建议
  • 定期备份:建议每周使用 JSON 格式导出完整数据作为备份
  • 大数据集:数据量超过 10 万条时,建议分批导出
  • 嵌套数据:包含复杂嵌套结构时,优先使用 JSON 格式
  • 业务分析:需要使用 Excel 分析时,使用 CSV 格式并指定关键字段