首页/数据/NoSQL 速查/mongoexport / mongoimport JSON 交换
MongoDB99 条

mongoexport / mongoimport JSON 交换

mongoexport 导出 JSON/CSV 供外部系统使用,mongoimport 导入文件;注意类型映射:CSV 全部按文本处理,日期需要额外转换。

NoSQL 速查数据更新于 2026-10-13

mongoexport / mongoimport 是什么

mongoexport 把集合导出成 JSON 或 CSV 供外部系统使用,mongoimport 把文件导入集合。它们的定位是数据交换而不是备份:JSON 模式下日期、ObjectId 等类型用扩展 JSON 表达,再次导入要保证工具能正确解析;CSV 模式所有值默认按文本处理,需要用类型声明才能还原数字与日期。整库备份恢复应该用 mongodump 与 mongorestore,处理的是原生 BSON,不会有类型失真。

基本信息

导出mongoexport --collection=orders --type=json --out=orders.json
导入mongoimport --file=orders.json --collection=orders2
CSV 支持需 --fields,类型还原用 --columnsHaveTypes
连接串--uri="mongodb://user:pass@host:27017/db?authSource=db"
备份替代整库备份恢复用 mongodump / mongorestore
所属系统MongoDB Database Tools(独立安装的命令行工具集)

典型使用场景

  • 数据交付:给分析方一份 JSON 或 CSV 明细文件
  • 迁移取样:从生产导出小批量数据到测试环境复现问题
  • 外部交换:向不具备 MongoDB 驱动的一方提供可读文件
  • 结构核对:导出后人工检查文档结构是否符合建模预期
  • 批量补数:按固定模板整理数据后用 mongoimport 灌入

导出与导入

导出与导入
# 导出 JSON,日期等类型以扩展 JSON 表达
mongoexport --uri="mongodb://app:secret@127.0.0.1:27017/app?authSource=app" \
  --collection=orders --type=json --out=orders.json

# 导入到另一个集合
mongoimport --uri="mongodb://app:secret@127.0.0.1:27017/app?authSource=app" \
  --collection=orders2 --file=orders.json

# CSV 需要声明列与类型,否则全部按字符串处理
mongoexport --collection=orders --type=csv --fields=_id,total,ts --out=orders.csv
mongoimport --collection=orders2 --type=csv --file=orders.csv --columnsHaveTypes \
  --fields="_id.string(),total.double(),ts.date_iso()"

常用参数

参数含义注意
--type导出格式 json / csvCSV 必须配合 --fields
--out / --file输出与输入文件默认按 UTF-8 处理
--columnsHaveTypesCSV 按声明类型解析不声明则全部是字符串
扩展 JSON日期与 ObjectId 的表达跨工具导入前确认能被解析
mongodump / mongorestoreBSON 级备份恢复整库迁移优先这一对
JSON 导出与 BSON 序列化存在差异(日期会变成扩展 JSON 对象),跨库迁移优先 mongodump;mongoexport 的定位是数据交换。
导出的 _id 用扩展 JSON 形式表达(形如带 $oid 的嵌套对象),再次导入时要确认目标工具版本能识别,否则会被写成普通嵌套文档。
导出前用 countDocuments 记录条数,导入后用同样的条件再数一次,是校验数据是否完整最简单也最可靠的一步。

易错点

  • 导出的 _id 用扩展 JSON 表达,再次导入要确认工具能正确解析
  • 把 mongoexport 当备份工具:它不提供一致性快照,导出期间的变更会体现在文件里
  • CSV 导入不声明类型会让数字与日期全变成字符串,后续查询与聚合出现类型不匹配
  • 大集合一次性导出容易撑爆内存或中断,按条件分片导出并核对条数

数据来源与参考

  • MongoDB Manual: mongoexport / mongoimport
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌