您的位置:首页 > 数据库 > Mongodb

mongodb数据导入导出mongoexport/mongoimport

2014-10-12 22:21 561 查看
数据导出 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的格式,所以这种格式非常利于异构数据迁移。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: