环境:mongodb3.6.16二进制安装
成都创新互联公司是专业的和平网站建设公司,和平接单;提供成都网站制作、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行和平网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!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
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。