mongodb数据导入导出mongoexport/mongoimport

数据导出 mongoexport

假设库里有一张user表,里面有2条记录,我们要将它导出
> use my_mongodb
switched to db my_mongodb
> db.user.find();
{ "_id" : ObjectId("4f81a4a1779282ca68fd8a5a"), "uid" : 2, "username" : "Jerry", "age" : 100 }
{ "_id" : ObjectId("4f844d1847d25a9ce5f120c4"), "uid" : 1, "username" : "Tom", "age" : 25 }

1.常用导出方法
[root@localhost bin]# ./mongoexport -d my_mongodb -c user -o user.dat
connected to: 127.0.0.1
exported 2 records
[root@localhost bin]# cat user.dat
{ "_id" : { "$oid" : "4f81a4a1779282ca68fd8a5a" }, "uid" : 2, "username" : "Jerry", "age" : 100 }
{ "_id" : { "$oid" : "4f844d1847d25a9ce5f120c4" }, "uid" : 1, "username" : "Tom", "age" : 25 }
参数说明:
    -d 指明使用的库, 本例中为” my_mongodb”
    -c 指明要导出的表, 本例中为”user”
    -o 指明要导出的文件名, 本例中为”user.dat”
从上面可以看到导出的方式使用的是JSON 的样式
2.导出CSV格式的文件
[root@localhost bin]# ./mongoexport -d my_mongodb -c user --csv -f uid,username,age -o user_csv.dat
connected to: 127.0.0.1
exported 2 records
[root@localhost bin]# cat user_csv.dat
uid,username,age
2,"Jerry",100
1,"Tom",25
参数说明:
    -csv 指要要导出为csv格式
    -f 指明需要导出哪些列
更详细的用法可以 mongoexport -help 来查看

数据导入mongoimport

在上例中我们讨论的是导出工具的使用,那么本节将讨论如何向表中导入数据
1.导入JSON 数据
我们先将表user 删除掉,以便演示效果
> db.user.drop();
true
> show collections;
system.indexes
然后导入数据
[root@localhost bin]# ./mongoimport -d my_mongodb -c user user.dat
connected to: 127.0.0.1
imported 2 objects
可以看到导入数据的时候会隐式创建表结构

2.导入CSV数据
我们先将表user 删除掉,以便演示效果
> db.user.drop();
true
> show collections;
system.indexes
然后导入数据
[root@localhost bin]# ./mongoimport -d my_mongodb -c user --type csv --headerline --file
user_csv.dat
connected to: 127.0.0.1
imported 3 objects
参数说明:
    -type 指明要导入的文件格式
    -headerline 批明不导入第一行,因为第一行是列名
    -file 指明要导入的文件路径
注意:
CSV格式良好,主流数据库都支持导出为CSV的格式,所以这种格式非常利于异构数据迁移。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值