博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MongoDB CookBook读书笔记之导入导出
阅读量:5820 次
发布时间:2019-06-18

本文共 8987 字,大约阅读时间需要 29 分钟。

本文主要介绍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.csv2018-06-06T15:34:41.922+0800    connected to: localhost2018-06-06T15:34:41.922+0800    dropping: admin.postalCodes2018-06-06T15:34:42.981+0800    imported 39734 documents> db.postalCodes.count()39734

MongoDB CookBook读书笔记之导入导出

如果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.csv2018-06-10T18:25:32.739+0800    connected to: localhost2018-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

二、简单查询

  1. 统计行数
    > 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.csv2018-06-11T11:40:19.660+0800    connected to: localhost2018-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: localhost2018-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

转载地址:http://htfdx.baihongyu.com/

你可能感兴趣的文章
论模式在领域驱动设计中的重要性
查看>>
有关GitHub仓库分支的几个问题
查看>>
云原生的浪潮下,为什么运维人员适合学习Go语言?
查看>>
EAServer 6.1 .NET Client Support
查看>>
锐捷交换机密码恢复(1)
查看>>
Method Swizzling对Method的要求
查看>>
佛祖保佑,永不宕机
查看>>
四、配置开机自动启动Nginx + PHP【LNMP安装 】
查看>>
Linux 目录结构及内容详解
查看>>
OCP读书笔记(24) - 题库(ExamD)
查看>>
.net excel利用NPOI导入oracle
查看>>
$_SERVER['SCRIPT_FLENAME']与__FILE__
查看>>
hive基本操作与应用
查看>>
excel快捷键设置
查看>>
html5纲要,细谈HTML 5新增的元素
查看>>
Android应用集成支付宝接口的简化
查看>>
[分享]Ubuntu12.04安装基础教程(图文)
查看>>
django 目录结构修改
查看>>
win8 关闭防火墙
查看>>
CSS——(2)与标准流盒模型
查看>>