9.1 数据的导入导出
mongoexport和mongoimport工具完成,本质:实现集合中每一条BSON格式的文档记录与本地系统上内容为JSON格式或CVS格式文件转换:
- JSON格式文件是按行组织内容,每行为一个json对象;
- CVS格式文件是按行组织内容,第一行为字段名称,每行包含输出的字段值,字段与字段之间用逗号隔开;
- 两种内容均能用文本文件工具打开,CVS默认excel打开;
- 在正在运行的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查询**匹配内容
- 在正在运行的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手册的使用方法。
当数据量较大时,适合局部数据导出分析;
这种方法对数据库的全量备份并不合适;