MongoDB数据的导出与导入,跟上一节的数据备份和还原是有点类似,都是为了从A库将数据迁移到B库,也都是用MongoDB DataBase Tools 中的工具来完成。但是,在操作上两者还是有很大的不同,备份和还原是针对整个数据库的,相较而言导出与导入就灵活多了。导出导入的数据格式可以多种,有json(默认)和csv;也可以指定要导出导入的字段,一个或者多个等不同。
1、导出
导出集合 fs.files 所有的数据, --type 可以不指定,默认就是json。
命令:
mongoexport -d yzfile -c fs.files -o app/data/yzfile_export_file --type json
如图:

导出集合 fs.files 指定的数据, 类型为csv,此时需要指定要导出的类型以及字段,多个字段用, 隔开。如图:
命令:
mongoexport -d yzfile -c fs.files -o /app/data/yzfile_export_file_csv --type csv -f field
如图:

错误演示,命令:
mongoexport -d yzfile -c fs.files -o app/data/yzfile_export_file_csv --type csv2021-04-26T16:06:14.032+0800 connected to: mongodb://localhost/2021-04-26T16:06:14.036+0800 Failed: CSV mode requires a field list
如图:

参数说明:
-d :数据库名
-c :collection名
-o :输出的文件名
--type :输出的格式,默认为json
-f :输出的字段,如果--type为csv,则需要加上-f "字段名"
2、导入
导入json格式的所有数据,命令:
mongoimport -d yzfile -c yzfile --file app/data/yzfile_export_file
如图:

导入CSV格式的数据,命令:
# 导入全部字段, 以CSV第一行作为字段名mongoimport -d dbname -c collectionname --file filename --headerline --type csv# 导入指定字段,mongoimport -d dbname -c collectionname --file filename --type csv -f field
如图:


说明: 参数 --headerline 和 -f field 不能同时使用。
参数说明:
-d :数据库名
-c :collection名
--type :导入的格式默认json
-f :导入的字段名,多个用逗号隔开
--headerline :如果导入的格式是csv,则可以使用第一行的标题作为导入的字段
--file :要导入的文件
文章转载自我的技术人生,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




