MongoDB学习之旅十三:MongoDB 导入导出
2014-04-15 19:50
169 查看
内容比较简单,依葫芦画瓢。
先讲导入,导入分为两种:json数据导入以及csv数据导入。
导入json数据
我们先将表user删除掉,以便演示效果:
然后导入数据
可以看到导入数据的时候会隐式创建表结构
导入csv数据
我们先讲标user删除掉,以便演示效果
然后导入数据
参数说明
type 指明要导入的文件格式
headerline 指明不导入第一行
file 指明要导入的文件路径
!!!注意:CSV格式更好,主流数据库都支持导出为CSV格式,所以这种格式非常利于异构数据迁移。
再讲导出
假设库里有一张user表,里面有2条记录,我们要将它导出
同样,导出也有两种方式:json格式以及CSV格式。
先来json格式
参数说明
d 指明使用的库
c 指明要导出的表
o 指明要导出的文件名
再来CSV格式
参数说明:
csv 指明要导出为CSV格式
f 指明要导出哪些列
更详细用法可以输入命令mongoexport -help来查看
需要注意的:其实mongodb导出是可以按条件的,比如如下导出的是5月12号整天的数据。
1、集合结构中必须要有时间的域,我的是initTime
2、-q参数里面放入的是你需要指定的条件
3、注意-q 最外层的是双引号,而里面的双引号都加上转义符“\”
4、以此类推,如果集合结构中有性别,则可指定性别导出;有年龄,则可指定年龄导出...
5、客户端同样可以导出服务器数据,格式:--host 192.168.100.109 --port 27017
先讲导入,导入分为两种:json数据导入以及csv数据导入。
导入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 [root@localhost bin]#
可以看到导入数据的时候会隐式创建表结构
导入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 [root@localhost bin]#
参数说明
type 指明要导入的文件格式
headerline 指明不导入第一行
file 指明要导入的文件路径
!!!注意:CSV格式更好,主流数据库都支持导出为CSV格式,所以这种格式非常利于异构数据迁移。
再讲导出
假设库里有一张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 } >
同样,导出也有两种方式:json格式以及CSV格式。
先来json格式
[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 } [root@localhost bin]#
参数说明
d 指明使用的库
c 指明要导出的表
o 指明要导出的文件名
再来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 [root@localhost bin]#
参数说明:
csv 指明要导出为CSV格式
f 指明要导出哪些列
更详细用法可以输入命令mongoexport -help来查看
需要注意的:其实mongodb导出是可以按条件的,比如如下导出的是5月12号整天的数据。
/usr/local/mongodb/bin/mongoexport -h 192.168.100.109 --port 27017 -d test -c testdb -q "{\"initTime\":{$gte:\"2014-05-12 00:00:00\",$lte:\"2014-05-12 23:59:59\"}}" -o test.txt说明:
1、集合结构中必须要有时间的域,我的是initTime
2、-q参数里面放入的是你需要指定的条件
3、注意-q 最外层的是双引号,而里面的双引号都加上转义符“\”
4、以此类推,如果集合结构中有性别,则可指定性别导出;有年龄,则可指定年龄导出...
5、客户端同样可以导出服务器数据,格式:--host 192.168.100.109 --port 27017
相关文章推荐
- 如何设置一个可扩展的MongoDB数据库?
- Mongodb基础用法及查询操作
- MongoDB---查看mongodb的位数
- linux下mongodb程序和c++客户端的编译
- MongoDB Shard部署及Tag的使用
- PHP实现对MongoDB的基础操作
- MongoDB 介绍及Windows下安装
- 在ubuntu上安装MongoDB 来自mongo官方
- MongoDB---启动异常,报错ERROR:NUMBER 100
- java查询mongodb中的objectid示例
- mongodb的常用操作(二)
- 【转】MongoDB资料汇总专题
- MongoDB的安装与配置
- Mongodb在Linux下的安装和启动和配置
- Mongodb在Linux下的安装和启动和配置
- Mongodb在Linux下的安装和启动和配置
- BSON特性探讨及基于其特性的MongoDB优化
- MongoDB性能优化之连接优化
- java中MongoDB中group的用法与实例
- MongoDB的内部构造 From 《MongoDB The Definitive Guide》