上篇BLOG 介绍了 MongoDB 集合的导出,今天接着学习集合导入,下面演示了从一个库导出集合到另一个库的具体步骤,如下:
基础信息
1 |
[mongo@redhatB ~]$ mongo |
备注:我们的目标是将 test 库的集合 things 导入到库 skytf 中。
以 JSON 格式导入导出
1.1 从源库导出集合
1 |
[mongo@redhatB tf]$ mongoexport -h 127.0.0.1 -d test -c things -v -o things.json |
备注:导出库 test_2 的集合 things,从上面看出导出了 30 条记录。
1.2 导入集合到目标库
1 |
[mongo@redhatB tf]$ mongoimport -h 127.0.0.1 -d skytf -c things --file things.json |
备注:从上看出导入了 30 个文档。
1.3 查看目标库
1 |
use skytf; |
备注:集合 things 已经导入到数据库 skytf 中,并且导入了 30 个文档。 另外,导入集合时需要指定 -c 参数,即目标的集合名,如果不指定会报以下 ERROR。
1.4 导入集合时不指定集合 -c 参数
1 |
[mongo@redhatB tf]$ mongoimport -h 127.0.0.1 -d skytf --file things.json |
备注:当然也可以在目标库中指定与源库集合不同名的集合。 例如下例中,源库skytf 库中的集合名为 things,可以指定目标库 skytf 的集合名为 things_1
1.5 指定不同名的集合名
1 |
[mongo@redhatB tf]$ mongoimport -h 127.0.0.1 -d skytf -c things_1 --file things.json |
1.6 再次查看目标库
1 |
show collections; |
以 CSV 格式导入导出
2.1 从源库以CSV格式导出集合
1 |
[mongo@redhatB tf]$ mongoexport -h 127.0 -d test -c test_2 -f id,name,address --csv -o test_2.csv |
2.2 导入CSV数据到目标库
1 |
[mongo@redhatB tf]$ mongoimport -h 127.0.0.1 -d skytf -c test_2 type csv -f id,name,address --headerline --file test_2.csv |
备注:这里指定参数 –type csv 为导入 csv 格式数据; –headerline 表示CSV格式的第一行为字段,如果不指定这个参数,则会将CSV格式第一行当数据导入到目标库。
2.3 查看目标库
1 |
> use skytf; |
参考
http://docs.mongodb.org/manual/reference/mongoimport/
http://blog.chinaunix.net/uid-26785103-id-3282144.html
原创文章,作者:6024010,如若转载,请注明出处:https://blog.ytso.com/tech/database/237914.html