9.1 数据的导入导出

mongoexport和mongoimport工具完成,本质:实现集合中每一条BSON格式的文档记录与本地系统上内容为JSON格式或CVS格式文件转换

  • JSON格式文件是按行组织内容,每行为一个json对象;
  • CVS格式文件是按行组织内容,第一行为字段名称,每行包含输出的字段值,字段与字段之间用逗号隔开;
  • 两种内容均能用文本文件工具打开,CVS默认excel打开;
  1. 在正在运行的mongod实例中导出记录:
  • .\mongoexport.exe --host=localhost --port 27017 --db test --collection customers --out D:\mongodb\test.json

  • 命令执行流程为连接到端口27017的mongod实例,选择数据库test及其包含的集合customers,导出每一行BSON文档对象到文件test.json中

  • .\mongoexport.exe --host=localhost --port 27017 --db test --collection customers --csv --fields name,price --out D:\mongodb\test.csv

  • mongoexport通过**–help可以查看其他选项。其中–csv将导出csv格式的文件,使用–csv要配合–field使用,即输出以逗号隔开的字段列表;还支持query查询**匹配内容

  1. 在正在运行的mongod实例中导入记录:
  • .\mongoimport.exe --host=localhost --port 27017 --db test --collection customers --file D:\mongodb\test.json --type json --upsert
  • –file表示需要导入的文件;–type表示导入文件的类型;–upsert表示导入时如果有相同记录,则修改集合中记录,根据主键_id判断。
  • .\mongoimport.exe --port 27017 --db test --collection customers --file D:\mongodb\test.json --type json --upsert
  • CVS文件导入:对应部分替换为**–type csv** /upsertFields:name,price –headerline
  • –headerline表示csv第一行字段名不导入;

mongoexport和mongoimport都可以通过**–help**命令查看或者参考MongoDB手册的使用方法。

当数据量较大时,适合局部数据导出分析;

这种方法对数据库的全量备份并不合适;