mongodb中mongoexport 和mongoimpo如何使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
Mongodb中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。
mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 --csv -o 文件名
-h 指明数据库宿主机的IP
-u 指明数据库的用户名
-p 指明数据库的密码
-d 指明数据库的名字
-c 指明collection的名字
-f 指明要导出那些列,以逗号分割,-f uid,name,age导出uid,name,age这三个字段
-o 指明到要导出的文件名
-q 指明导出数据的过滤条件,-q '{ "uid" : "100" }' 导出uid为100的数据
--type 指定文件类型
--authenticationDatabase 验证数据的名称
导出整张表数据:
[root@localhost ~]# mongoexport -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin -d dbtest002 -c mumu -o ./1.dat 2020-01-05T11:54:48.956+0800 connected to: 127.0.0.1:6068 2020-01-05T11:54:48.956+0800 exported 3 records [root@localhost ~]# cat 1.dat {"_id":{"$oid":"5e0f162d1083b09e85237cb4"},"name":"小花","年级":"二年级","性别":"男","爱好":"学习"} {"_id":{"$oid":"5e0f161d1083b09e85237cb3"},"name":"小花","年级":"二年级","性别":"男","爱好":"学习"} {"_id":{"$oid":"5e0f16191083b09e85237cb2"},"name":"小花","年级":"二年级","性别":"男","爱好":"学习"}
导出表指定字段的数据:
[root@localhost ~]# mongoexport -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin -d dbtest002 -c mumu -f name,'年级','性别' -o ./2.dat 2020-01-05T11:55:41.187+0800 connected to: 127.0.0.1:6068 2020-01-05T11:55:41.187+0800 exported 3 records [root@localhost ~]# cat 2.dat {"_id":{"$oid":"5e0f162d1083b09e85237cb4"},"name":"小花","年级":"二年级","性别":"男"} {"_id":{"$oid":"5e0f161d1083b09e85237cb3"},"name":"小花","年级":"二年级","性别":"男"} {"_id":{"$oid":"5e0f16191083b09e85237cb2"},"name":"小花","年级":"二年级","性别":"男"}
导出表指定字段的csv格式数据:
[root@localhost ~]# mongoexport -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin -d dbtest002 -c mumu --type csv -f name,'年级' -o ./3.csv [root@localhost ~]# cat 3.csv name,年级 小花,二年级 小花,二年级 小花,二年级
[root@localhost ~]# mongoexport -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin -d dbtest002 -c mumu --csv -f name,'年级' -o ./1.csv 2020-01-05T11:58:56.598+0800 csv flag is deprecated; please use --type=csv instead 2020-01-05T11:58:56.599+0800 connected to: 127.0.0.1:6068 2020-01-05T11:58:56.600+0800 exported 3 records [root@localhost ~]# cat 1.csv name,年级 小花,二年级 小花,二年级 小花,二年级
导出json格式文件,默认导出的就是json格式的数据文件:
[root@localhost ~]# mongoexport -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin -d dbtest002 -c mumu --type json -f name,'年级' -o ./2.json 2020-01-05T12:01:28.951+0800 connected to: 127.0.0.1:6068 2020-01-05T12:01:28.951+0800 exported 3 records [root@localhost ~]# cat 2.json {"_id":{"$oid":"5e0f162d1083b09e85237cb4"},"name":"小花","年级":"二年级"} {"_id":{"$oid":"5e0f161d1083b09e85237cb3"},"name":"小花","年级":"二年级"} {"_id":{"$oid":"5e0f16191083b09e85237cb2"},"name":"小花","年级":"二年级"}
根据条件导出数据:
爱好打球的记录数:
[root@localhost ~]# mongoexport -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin -d dbtest002 -c chenji -q '{"爱好":"打球"}' -o ./daqiu.json 2020-01-05T12:10:21.788+0800 connected to: 127.0.0.1:6068 2020-01-05T12:10:21.788+0800 exported 2 records [root@localhost ~]# cat daqiu.json {"_id":{"$oid":"5e1160a3ef45ab936b74982a"},"name":"李四","年级":"一年级","性别":"女","爱好":"打球"} {"_id":{"$oid":"5e116102ef45ab936b74982d"},"name":"赵武","年级":"五年级","性别":"男","爱好":"打球"}
Mongodb中的mongoimport工具可以把一个特定格式文件中的内容导入到指定的collection中。该工具可以导入JSON格式数据,也可以导入CSV格式数据。
参数介绍:
-h 指明数据库宿主机的IP
-u 指明数据库的用户名
-p 指明数据库的密码
-d 指明数据库的名字
-c 指明collection的名字
-f 指明要导出那些列
-o 指明到要导出的文件名
-q 指明导出数据的过滤条件
--drop 插入之前先删除原有的
--headerline 指明第一行是列名,不需要导入。
-j 同时运行的插入操作数(默认为1),并行
--authenticationDatabase 验证数据的名称
导出数据,然后在恢复到表里面:
导出数据:
[root@localhost ~]# mongoexport -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin -d dbtest002 -c fenshu -o ./111.bat 2020-01-05T12:46:21.264+0800 connected to: 127.0.0.1:6068 2020-01-05T12:46:21.265+0800 exported 8 records
恢复到表里面:
[root@localhost ~]# mongoimport -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin -d dbtest002 -c fenshu --drop ./111.bat 2020-01-05T12:50:07.154+0800 connected to: 127.0.0.1:6068 2020-01-05T12:50:07.154+0800 dropping: dbtest002.fenshu 2020-01-05T12:50:07.181+0800 imported 7 documents
部分字段的表数据导入:
指定字段导出:
[root@localhost ~]# mongoexport -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin -d dbtest002 -c fenshu --type json -f name,'年级' -o ./222.bat 2020-01-05T12:57:16.030+0800 connected to: 127.0.0.1:6068 2020-01-05T12:57:16.030+0800 exported 7 records
指定字段导入表时避免主键冲突,因而加参数--drop
[root@localhost ~]# mongoimport -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin -d dbtest002 -c fenshu --upsertFields name,'年级' --drop ./222.bat 2020-01-05T12:58:22.422+0800 connected to: 127.0.0.1:6068 2020-01-05T12:58:22.428+0800 imported 7 documents
关于mongodb中mongoexport 和mongoimpo如何使用问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。