MongoDB CookBook读书笔记之导入导出
本文主要介绍MongoDB的导入导出操作。
一、导入数据
MongoDB支持csv格式的数据导入。本节除了导入MongoDB CookBook书本提供的测试数据,还介绍了其他格式的csv文件数据导入。
[root@hdp04 ~]# wget https://raw.githubusercontent.com/kishorek/India-Codes/master/csv/pincodes.csv
[root@hdp04 ~]# head pincodes.csv
"PostOfficeName","Pincode","DistrictsName","City","State"
"Aberdeen Bazar","744104","A&N Islands","Port Blair","Andaman Nicobar"
"Bakultala","744208","A&N Islands","Port Blair","Andaman Nicobar"
"Bambooflat","744107","A&N Islands","Port Blair","Andaman Nicobar"
"Betapur","744201","A&N Islands","Port Blair","Andaman Nicobar"
[root@hdp04 ~]# mongoimport --type csv -d admin -c postalCodes --headerline --drop pincodes.csv
2018-06-06T15:34:41.922+0800 connected to: localhost
2018-06-06T15:34:41.922+0800 dropping: admin.postalCodes
2018-06-06T15:34:42.981+0800 imported 39734 documents
> db.postalCodes.count()
39734
如果csv文件中存在空字段的内容,则需在导入的时候指定每个字段名称,如下:
[root@hdp04 ~]# tail temp.csv
"zy-2-3106915","candon",,"2","zy14031238480","Pp2d8+VJOoPOUP2UVMBS4g==","520000","520300",,"1",,,,
"zy-2-3106931","jason",,"2","zy14031238484","+3xWTli/pbRaswx0XxALPg==","520000","520300",,"1",,,,
"zy-2-3106958","mako",,"2","zy14031238434","j8+Fz3EkRH+3JtWKNmScmA==","520000","520300",,"1",,,,
"zy-2-3731038","lanqi",,"2","zy160300038106","6N1phcF07vGhDv7Vof3CPA==","520000","520300",,"1",,,,
"zy-2-3175835","wgjk",,"2","zy14031352290","wxU1xIQbTAmWoR+q9LrLcw==","520000","520300",,"1",,,,
[root@hdp04 ~]# mongoimport --db admin --collection temp --type csv --fields ID,NAME,FILED1,USERTYPE,PHONE,FILED2,FILED3,FILED4,PHONE1,TYPE,FILED5,FILED6,FILED7,FILED8 --file temp.csv
2018-06-10T18:25:32.739+0800 connected to: localhost
2018-06-10T18:25:35.734+0800 [#.......................] admin.temp 8.93MB/177MB (5.0%)
2018-06-10T18:25:38.736+0800 [##......................] admin.temp 17.6MB/177MB (9.9%)
2018-06-10T18:25:41.733+0800 [###.....................] admin.temp 26.2MB/177MB (14.8%)
2018-06-10T18:25:44.733+0800 [####....................] admin.temp 34.8MB/177MB (19.7%)
2018-06-10T18:25:47.733+0800 [#####...................] admin.temp 43.4MB/177MB (24.5%)
2018-06-10T18:25:50.734+0800 [#######.................] admin.temp 53.4MB/177MB (30.1%)
2018-06-10T18:25:53.733+0800 [########................] admin.temp 62.9MB/177MB (35.5%)
2018-06-10T18:25:56.736+0800 [##########..............] admin.temp 75.5MB/177MB (42.6%)
2018-06-10T18:25:59.734+0800 [###########.............] admin.temp 84.2MB/177MB (47.6%)
2018-06-10T18:26:02.734+0800 [############............] admin.temp 93.0MB/177MB (52.5%)
2018-06-10T18:26:05.733+0800 [#############...........] admin.temp 102MB/177MB (57.4%)
2018-06-10T18:26:08.733+0800 [##############..........] admin.temp 110MB/177MB (62.2%)
2018-06-10T18:26:11.734+0800 [################........] admin.temp 119MB/177MB (67.2%)
2018-06-10T18:26:14.733+0800 [#################.......] admin.temp 128MB/177MB (72.3%)
2018-06-10T18:26:17.733+0800 [##################......] admin.temp 137MB/177MB (77.6%)
2018-06-10T18:26:20.733+0800 [###################.....] admin.temp 146MB/177MB (82.7%)
2018-06-10T18:26:23.733+0800 [#####################...] admin.temp 156MB/177MB (87.9%)
2018-06-10T18:26:26.733+0800 [######################..] admin.temp 164MB/177MB (92.9%)
2018-06-10T18:26:29.734+0800 [#######################.] admin.temp 175MB/177MB (99.1%)
2018-06-10T18:26:30.197+0800 [########################] admin.temp 177MB/177MB (100.0%)
2018-06-10T18:26:30.197+0800 imported 3347522 documents
> db.temp.count()
3347522
二、简单查询
- 统计行数
> db.postalCodes.count() 39734
2.查询一条记录
> db.postalCodes.findOne() {"_id" : ObjectId("5b178e91f02ce24e2dd4c95b"),"PostOfficeName" : "Aberdeen Bazar","Pincode" : 744104,"DistrictsName" : "A&N Islands","City" : "Port Blair","State" : "Andaman Nicobar" }
3.查找多行记录
> db.postalCodes.find().pretty() {"_id" : ObjectId("5b178e91f02ce24e2dd4c95b"),"PostOfficeName" : "Aberdeen Bazar","Pincode" : 744104,"DistrictsName" : "A&N Islands","City" : "Port Blair","State" : "Andaman Nicobar" } {"_id" : ObjectId("5b178e91f02ce24e2dd4c95c"),"PostOfficeName" : "Campbell Bay","Pincode" : 744302,"DistrictsName" : "A&N Islands","City" : "Port Blair","State" : "Andaman Nicobar" } {"_id" : ObjectId("5b178e91f02ce24e2dd4c95d"),"PostOfficeName" : "Betapur","Pincode" : 744201,"DistrictsName" : "A&N Islands","City" : "Port Blair","State" : "Andaman Nicobar" } {"_id" : ObjectId("5b178e91f02ce24e2dd4c95e"),"PostOfficeName" : "Car Nicobar","Pincode" : 744301,"DistrictsName" : "Car Nicobar","City" : "Car Nicobar","State" : "Andaman Nicobar" } {"_id" : ObjectId("5b178e91f02ce24e2dd4c95f"),"PostOfficeName" : "Diglipur","Pincode" : 744202,"DistrictsName" : "A&N Islands","City" : "Port Blair","State" : "Andaman Nicobar" } {"_id" : ObjectId("5b178e91f02ce24e2dd4c960"),"PostOfficeName" : "Haddo","Pincode" : 744102,"DistrictsName" : "A&N Islands","City" : "Port Blair","State" : "Andaman Nicobar" } {"_id" : ObjectId("5b178e91f02ce24e2dd4c961"),"PostOfficeName" : "Hut Bay","Pincode" : 744207,"DistrictsName" : "A&N Islands","City" : "Port Blair","State" : "Andaman Nicobar" } {"_id" : ObjectId("5b178e91f02ce24e2dd4c962"),"PostOfficeName" : "Havelock","Pincode" : 744211,"DistrictsName" : "A&N Islands","City" : "Port Blair","State" : "Andaman Nicobar" } {"_id" : ObjectId("5b178e91f02ce24e2dd4c963"),"PostOfficeName" : "Bambooflat","Pincode" : 744107,"DistrictsName" : "A&N Islands","City" : "Port Blair","State" : "Andaman Nicobar" } {"_id" : ObjectId("5b178e91f02ce24e2dd4c964"),"PostOfficeName" : "Kapanga","Pincode" : 744304,"DistrictsName" : "A&N Islands","City" : "Port Blair","State" : "Andaman Nicobar" } {"_id" : ObjectId("5b178e91f02ce24e2dd4c965"),"PostOfficeName" : "Long Island","Pincode" : 744203,"DistrictsName" : "A&N Islands","City" : "Port Blair","State" : "Andaman Nicobar" } {"_id" : ObjectId("5b178e91f02ce24e2dd4c966"),"PostOfficeName" : "Marine Jetty","Pincode" : 744101,"DistrictsName" : "A&N Islands","City" : "Port Blair","State" : "Andaman Nicobar" } {"_id" : ObjectId("5b178e91f02ce24e2dd4c967"),"PostOfficeName" : "Mayabunder","Pincode" : 744204,"DistrictsName" : "A&N Islands","City" : "Port Blair","State" : "Andaman Nicobar" } {"_id" : ObjectId("5b178e91f02ce24e2dd4c968"),"PostOfficeName" : "N S Building","Pincode" : 744101,"DistrictsName" : "A&N Islands","City" : "Port Blair","State" : "Andaman Nicobar" } {"_id" : ObjectId("5b178e91f02ce24e2dd4c969"),"PostOfficeName" : "Nancowrie","Pincode" : 744303,"DistrictsName" : "A&N Islands","City" : "Port Blair","State" : "Andaman Nicobar" } {"_id" : ObjectId("5b178e91f02ce24e2dd4c96a"),"PostOfficeName" : "Neel Island","Pincode" : 744104,"DistrictsName" : "A&N Islands","City" : "Port Blair","State" : "Andaman Nicobar" } {"_id" : ObjectId("5b178e91f02ce24e2dd4c96b"),"PostOfficeName" : "New Secretariate Bldg","Pincode" : 744105,"DistrictsName" : "A&N Islands","City" : "Port Blair","State" : "Andaman Nicobar" } {"_id" : ObjectId("5b178e91f02ce24e2dd4c96c"),"PostOfficeName" : "Bakultala","Pincode" : 744208,"DistrictsName" : "A&N Islands","City" : "Port Blair","State" : "Andaman Nicobar" } {"_id" : ObjectId("5b178e91f02ce24e2dd4c96d"),"PostOfficeName" : "Oralkatcha","Pincode" : 744210,"DistrictsName" : "A&N Islands","City" : "Port Blair","State" : "Andaman Nicobar" } {"_id" : ObjectId("5b178e91f02ce24e2dd4c96e"),"PostOfficeName" : "Port Blair","Pincode" : 744101,"DistrictsName" : "A&N Islands","City" : "Port Blair","State" : "Andaman Nicobar" } Type "it" for more
上面的命令查找所有记录,默认只显示前20行,如果要查看更多的记录,键入“it”继续查看(只显示20条记录)。
三、导出数据
MongoDB的mongoexport默认是导出collection的所有内容,如下:
[root@hdp04 ~]# mongoexport -d admin -c postalCodes -o dd.csv 2018-06-11T11:40:19.660+0800 connected to: localhost 2018-06-11T11:40:20.658+0800 [#########...............] admin.postalCodes 16000/39734 (40.3%) 2018-06-11T11:40:21.658+0800 [###################.....] admin.postalCodes 32000/39734 (80.5%) 2018-06-11T11:40:21.873+0800 [########################] admin.postalCodes 39734/39734 (100.0%) 2018-06-11T11:40:21.873+0800 exported 39734 records
如果要导出指定的字段内容,需要加上--fields参数,如下:
[root@hdp04 ~]# mongoexport -d admin -c postalCodes -o ee.csv --fields 'PostOfficeName,Pincode,DistrictsName' 2018-06-11T11:41:33.805+0800 connected to: localhost 2018-06-11T11:41:34.803+0800 [#########...............] admin.postalCodes 16000/39734 (40.3%) 2018-06-11T11:41:35.495+0800 [########################] admin.postalCodes 39734/39734 (100.0%) 2018-06-11T11:41:35.495+0800 exported 39734 records
MongoDB CookBook读书笔记之导入导出相关推荐
- 【SQL.Cookbook读书笔记】——1检索记录
SQL.Cookbook读书笔记 前言 1检索记录 1.1从表中检索所有行和列 1.2从表中检索部分行(where) 1.3查找满足多个条件的行(where.and.or) 1.4从表中检索部分列 1 ...
- MongoDB学习day10--数据库导入导出
在 Mongodb 中我们使用 mongodump 命令来备份 MongoDB 数据. 该命令可以导出所有数据到指定目录中.mongodump 命令可以通过参数指定导出的数据量级转存的服务器. 使用m ...
- Flex CookBook 读书笔记 第一部分
定义数组和对象 可以通过ActionScript或者在Mxml中定义 <mx:Array> <mx:String>flex</mx:String> <mx:S ...
- MongoDB数据库备份恢复与导入导出
.mongodump/mongorestore方式 使用场景:数据库导出指定collection,无法手工修改导出文件(二进制) 允许条件:数据库原始collection导入操作前可以被删除(处理方式 ...
- 数据库工作笔记009---linux 导入导出postgresql数据库
JAVA技术交流QQ群:170933152 一.命令操作:数据的导出:$ pg_dump -U postgres(用户名) (-t 表名) 数据库名(缺省时同用户名) > 路径/文件名.sqlp ...
- mongoDB的读书笔记(04)_【Replica】(01)_Replica的一些基本概念
数据库分布已经是当下互联网的标准配置.原来单节点标准配置,一台web服务器,一台数据库服务器的1+1模式,可以应对一个小公司或者少量的访问量.而随着服务的提升,对于7×24×365的高可用性的要求的需 ...
- PHP Cookbook读书笔记 – 第16章互联网服务
发送电子邮件 书中主要是以PEAR中的邮件发送类(Mail)来讲解的(关于如何在WIN系统下安装PEAR可以参考WIN下成功安装PEAR).PEAR的MAIL类可以通过3种方式来发送电子邮件: 通过P ...
- MongoDB实战读书笔记(二):面向文档的数据
1 schema设计原则 1.1 关系型数据库的三大设计范式 第一范式(1NF)无重复的列 第二范式(2NF)属性完全依赖于主键 [ 消除部分子函数依赖 ] 第三范式(3NF)属性不依赖于其它非主属性 ...
- mongoDB的读书笔记(via3.0)(00)_【概览】(02)_mongoDB3.0中的mongod启动方式小试牛刀
mongod启动 本来想写Replica的非测试模式的集群架构的,但是实在是手痒痒,把mongoDB的3.0给download下来了,看了一两眼文档后决定还是先大概写一点点关于启动的话题,之后写Rep ...
最新文章
- LA3708墓地雕塑
- df命令,du命令,磁盘分区
- 第1章-导言-习题1.13-1.17
- pandas 不要编号 加一行_文科生带你学Python|Pandas读取数据
- 此windows副本不是正版_阳光单职业传奇正版-阳光单职业传奇正版官网版v2.0
- 计算机用word做海报,【2人回答】电脑Word怎么做海报?-3D溜溜网
- 在C#中使用钩子实现Alt+F4健窗口最小化功能
- 编译原理:文法和语言总结与梳理
- 通过Visual Studio 2019搭建DirectX 12开发环境
- 柠檬班性能测试day3_性能测试基础知识(0521)
- 批一批淘宝首页的源代码
- 【Springboot】SpringBoot基础知识及整合Thymeleaf模板引擎
- 版式设计:什么是“三率一界”?
- 逆向工程实验_lab0(密码学算法逆向)
- 基于python开发pepper机器人的人脸识别--使用facenet
- 走格子(数学组合/动态规划)
- 拓幻图形学工程师教学手册(第一讲)|一字一字敲出OpenGL学习教程
- 【Alpha】阶段第三次Scrum Meeting
- pacs dicom3.0 DCMTK EFilm
- 跟小伙伴一起分享cfa考一、二级经验。
热门文章
- linux内核按键驱动,嵌入式Linux按键驱动框架
- zend 安装php 5.6,CentOS7.0+Zend Guard Loader for PHP 5.6环境搭建
- 21天jenkins打卡Day4-新增账号
- “我升职的原因是:比同事更早学会这个知识”
- matlab虚拟现实之V-Realm Builder2建模第二部分
- 5复数与复变函数(五)
- AlexNet卷积神经网络
- matlab 雷达工具箱,使用Matlab的工具箱,学习“相控阵雷达技术”
- java输出输入的日期_Java编写的日历,输入年月,输出这个月的日期与星期
- python调用matlab绘图_python初步调用MATLAB及网址存档