mongo笔记之-导入导出

一.导出
Mongodb中的mongoexport工具可以把一个 collection导出成JSON格式或者CSV格式的文件.
可以通过参数指定导出的数据项,也可以根据指定的条件导出数据.运行:mongoexport –help 获取详细的参数用法.

D:\mongodb\bin>mongoexport --help

参数说明:
-h:指明数据库宿主机的IP
-u:指明数据库的用户名
-p:指明数据库的密码
-d:指明数据库的名字
-c:指明collection的名字
-f:指明要导出那些列
-o:指明到要导出的文件名
-q:指明导出数据的过滤条件
1.导出默认(JSON)格式的文件
命令:bin/mongoexport -d test -c students -o students.bat
这时会在monodb/bin目录下生成 students.bat文件
2.导出CSV文件
命令:mongoexport -d test -c students --type csv -f first,info -o students.dat
参数说明:
-csv:指明要导出为csv格式
-f:指明需要导出classid、name、age这3列的数据
由上面结果可以看出,mongoexport成功地将数据根据csv格式导出到了students_csv.dat文件中。
例子:
有如下 > db.kettle4.find()
{ "_id" : ObjectId("55877ffed818d205478654f9"), "first" : "Bob", "info" : [ { "last" : "Jones ", "address" : "Bob Street" } ], "ag : 25 }"_id" : ObjectId("55877ffed818d205478654fa"), "first" : "Fred",``"info" : [ { "last" : "Flintstone", "address" : "Beetlejuice " } ], "age{ "_id" : ObjectId("55877ffed818d205478654fb"), "first" : "Zhang", "info" : [ { "last" : "san", "address" : "深圳" } ], "age" : 20 }
现要导出first,info字段数据为csv文件
这里写图片描述
这时候,可以查看mongodb/bin目录里,有kettle_csv.bat文件生成:
这里写图片描述
kettle_csv.bat文件内容如下图:
这里写图片描述

二.导入
mongoDB中的mongoimport工具可以把一个特定格式文件中的内容导入到指定的Collection中;
该工具可以导入JSON格式数据,也可以导入CSV格式数据

1.导入JSON格式的文件中的内容

mongoimport -d test -c students students.dat

参数说明:
-h:指明数据库宿主机的IP
-u:指明数据库的用户名
-p:指明数据库的密码
-d:指明数据库的名字
-c:指明collection的名字 students.bat要导入的文件名
2.导入CSV文件内容
先删除某个集合中的数据 如kettle5

> db.kettle5.remove({});
WriteResult({ "nRemoved" : 3 })
> db.kettle5.find();

将上面导出的CSV文件导入集合kettle5

 D:\mongodb\bin> mongoimport -h 127.0.0.1 -d test  -c kettle5 --type csv --headerline -file kettle_csv.bat
connected to: 127.0.0.1
2015-06-23T22:42:16.848+0800 imported 3 objects

注;–type csv不能少
–headerline 不能少
参数说明:
–type 指明要导入的文件格式
–headerline 指明第一行是列名,不需要导入
–file 指明要导入的文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值