一、Mongoexport导出数据

  1,导出json数据
    mongoexport -d db -c collection -o save-file.dat

  2,导出CSV数据

    mongoexport -d db -c collection --type=csv -f field1,field2 -o save-file.dat

说明:db目标数据库,collection目标集合,save-file.dat要保存的文件,--type指定导出的格式,默认是json,-f后面是需要导出的字段名称,多个字段名用逗号隔开

二、mongoimport导入数据

  1,导入json数据
    mongoimport -d db -c collection --file save-file.dat

  2,导入CSV数据

    mongoimport -d db -c collection --type=csv --headerline --file save-file.dat

说明:db目标数据库,collection目标集合,save-file.dat要导入的文件,--type指定导出的格式,默认是json,--headerline批明不导入第一行

三、导出工具mongoexport 简介,通过帮助先了解下mongoexport的功能参数

  1. [root@iZ2ze4b308vd83fulq9n7iZ ~]# mongoexport --help
  2. Usage:
  3. mongoexport <options>
  4.  
  5. Export data from MongoDB in CSV or JSON format.
  6.  
  7. See http://docs.mongodb.org/manual/reference/program/mongoexport/ for more information.
  8.  
  9. general options:
  10. --help print usage
  11. --version print the tool version and exit
  12.  
  13. verbosity options:
  14. -v, --verbose more detailed log output (include multiple times for more verbosity, e.g. -vvvvv)
  15. --quiet hide all log output
  16.  
  17. connection options:
  18. -h, --host= mongodb host to connect to (setname/host1,host2 for replica sets)
  19. --port= server port (can also use --host hostname:port)
  20.  
  21. authentication options:
  22. -u, --username= username for authentication
  23. -p, --password= password for authentication
  24. --authenticationDatabase= database that holds the user's credentials
  25. --authenticationMechanism= authentication mechanism to use
  26.  
  27. namespace options:
  28. -d, --db= database to use
  29. -c, --collection= collection to use
  30.  
  31. output options:
  32. -f, --fields= comma separated list of field names (required for exporting CSV) e.g. -f "name,age"
  33. --fieldFile= file with field names - 1 per line
  34. --type= the output format, either json or csv (defaults to 'json')
  35. -o, --out= output file; if not specified, stdout is used
  36. --jsonArray output to a JSON array rather than one object per line
  37. --pretty output JSON formatted to be human-readable
  38.  
  39. querying options:
  40. -q, --query= query filter, as a JSON string, e.g., '{x:{$gt:1}}'
  41. -k, --slaveOk allow secondary reads if available (default true)
  42. --forceTableScan force a table scan (do not use $snapshot)
  43. --skip= number of documents to skip
  44. --limit= limit the number of documents to export
  45. --sort= sort order, as a JSON string, e.g. '{x:1}'

关键参数说明:

  • -h,--host :代表远程连接的数据库地址,默认连接本地Mongo数据库;
  • --port:代表远程连接的数据库的端口,默认连接的远程端口27017;
  • -u,--username:代表连接远程数据库的账号,如果设置数据库的认证,需要指定用户账号;
  • -p,--password:代表连接数据库的账号对应的密码;
  • -d,--db:代表连接的数据库;
  • -c,--collection:代表连接数据库中的集合;
  • -f, --fields:代表集合中的字段,可以根据设置选择导出的字段;
  • --type:代表导出输出的文件类型,包括csv和json文件;
  • -o, --out:代表导出的文件名;
  • -q, --query:代表查询条件;
  • --skip:跳过指定数量的数据;
  • --limit:读取指定数量的数据记录;
  • --sort:对数据进行排序,可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而-1是用于降序排列,如sort({KEY:1})。

注意:

  当查询时同时使用sort,skip,limit,无论位置先后,最先执行顺序 sort再skip再limit。

实例:

  首先查看下数据库中的数据一共多少条,通过的命令的方式查看下我们要导出的数据信息

  1. > db.bike.find().count()
  2. 16878865
  3. > db.bike.find({"source":"ofo"}).limit(1)
  4. { "_id" : ObjectId("59e8c27804390e04a063159d"), "lat" : 39.9571954199, "bikeId" : "pgdAVg", "current_time" : "2017-10-19 23:19:19", "source" : "ofo", "lng" : 116.3926501736 }
  5. >

如何通过mongoexport导出"bikeId" : "pgdAVg"的数据,我导出了json和csv两种类型的数据;

  1. #导出类型为json,数据库:mapdb,集合:bike 字段:bikeId,lat,lng,current_time,source ,条件为source字段为ofo第一条数据
  2. mongoexport --port 27030 -u sa -p Expressin@0618 -d mapdb -c bike -f bikeId,lat,lng,current_time,source --type=json -o bike.csv --query='{"source":"ofo"}' --limit=1
  3. #导出类型为csv,数据库:mapdb,集合:bike 字段:bikeId,lat,lng,current_time,source ,条件为source字段为ofo第一条数据
  4. mongoexport --port 27030 -u sa -p Expressin@0618 -d mapdb -c bike -f bikeId,lat,lng,current_time,source --type=csv -o bike.csv --query='{"source":"ofo"}' --limit=1

查看下结果是否是我们两种不同的结果集;

1.导出csv类型;

2.导出json类型;

二、导入工具mongoimport 简介,通过帮助先了解下mongoimport的功能参数

  1. [root@iZ2ze4b308vd83fulq9n7iZ ~]# mongoimport --help
  2. Usage:
  3. mongoimport <options> <file>
  4.  
  5. Import CSV, TSV or JSON data into MongoDB. If no file is provided, mongoimport reads from stdin.
  6.  
  7. See http://docs.mongodb.org/manual/reference/program/mongoimport/ for more information.
  8.  
  9. general options:
  10. --help print usage
  11. --version print the tool version and exit
  12.  
  13. verbosity options:
  14. -v, --verbose more detailed log output (include multiple times for more verbosity, e.g. -vvvvv)
  15. --quiet hide all log output
  16.  
  17. connection options:
  18. -h, --host= mongodb host to connect to (setname/host1,host2 for replica sets)
  19. --port= server port (can also use --host hostname:port)
  20.  
  21. authentication options:
  22. -u, --username= username for authentication
  23. -p, --password= password for authentication
  24. --authenticationDatabase= database that holds the user's credentials
  25. --authenticationMechanism= authentication mechanism to use
  26.  
  27. namespace options:
  28. -d, --db= database to use
  29. -c, --collection= collection to use
  30.  
  31. input options:
  32. -f, --fields= comma separated list of field names, e.g. -f name,age
  33. --fieldFile= file with field names - 1 per line
  34. --file= file to import from; if not specified, stdin is used
  35. --headerline use first line in input source as the field list (CSV and TSV only)
  36. --jsonArray treat input source as a JSON array
  37. --type= input format to import: json, csv, or tsv (defaults to 'json')
  38.  
  39. ingest options:
  40. --drop drop collection before inserting documents
  41. --ignoreBlanks ignore fields with empty values in CSV and TSV
  42. --maintainInsertionOrder insert documents in the order of their appearance in the input source
  43. -j, --numInsertionWorkers= number of insert operations to run concurrently (defaults to 1)
  44. --stopOnError stop importing at first insert/upsert error
  45. --upsert insert or update objects that already exist
  46. --upsertFields= comma-separated fields for the query part of the upsert
  47. --writeConcern= write concern options e.g. --writeConcern majority, --writeConcern '{w: 3, wtimeout: 500, fsync: true, j: true}' (defaults to 'majority')

关键参数说明:

  • h,--host :代表远程连接的数据库地址,默认连接本地Mongo数据库;
  • --port:代表远程连接的数据库的端口,默认连接的远程端口27017;
  • -u,--username:代表连接远程数据库的账号,如果设置数据库的认证,需要指定用户账号;
  • -p,--password:代表连接数据库的账号对应的密码;
  • -d,--db:代表连接的数据库;
  • -c,--collection:代表连接数据库中的集合;
  • -f, --fields:代表导入集合中的字段;
  • --type:代表导入的文件类型,包括csv和json,tsv文件,默认json格式;
  • --file:导入的文件名称
  • --headerline:导入csv文件时,指明第一行是列名,不需要导入;

实例演示:

  1. #首先查看集合中的数据
  2. > db.bike_bak.find()
  3. { "_id" : ObjectId("59e8c27804390e04a063159d"), "lat" : 39.9571954199, "bikeId" : "pgdAVg", "current_time" : "2017-10-19 23:19:19", "source" : "ofo", "lng" : 116.3926501736 }
  4. #删除集合中的数据
  5. > db.bike_bak.remove({"bikeId" : "pgdAVg"})
  6. WriteResult({ "nRemoved" : 1 })
  7. #查看集合是否包含数据
  8. > db.bike_bak.find()
  9. >
  10. #导入数据
  11. [root@iZ2ze4b308vd83fulq9n7iZ ~]# mongoimport --port 27030 -u sa -p Expressin@0618 -d mapdb -c bike_bak --type=json --file bike.csv
  12. 2017-10-25T11:59:51.020+0800 connected to: localhost:27030
  13. 2017-10-25T11:59:51.030+0800 imported 1 document
  14. #检查数据是否导入成功
  15. > db.bike_bak.find()
  16. { "_id" : ObjectId("59e8c27804390e04a063159d"), "bikeId" : "pgdAVg", "current_time" : "2017-10-19 23:19:19", "lat" : 39.9571954199, "lng" : 116.3926501736, "source" : "ofo" }

测试过程中发现--headerline -f bikeId 同时存在会报错,提示不兼容,目前不知道如何处理。

整理自:

https://www.cnblogs.com/shelly520/p/9628790.html

https://www.cnblogs.com/mengyu/p/7718311.html

Mongo mongoexport/mongoimport介绍的更多相关文章

  1. Mongo 整体架构介绍(1)-------分片集群

    摘要 在mongo初识文中介绍了mongo与cassandra的主要区别,以及mongo物理部署架构图.本文接着上一篇的mongo 架构图,来继续讲分片集群. 分片介绍 shard key mongo ...

  2. Mongo导出mongoexport和导入mongoimport介绍

    最近爬取mobike和ofo单车数据,需要存储在csv文件中,因为设计的程序没有写存储csv文件的方法,为了偷懒所以就继续存储到了MongoDB中.恰好MongoDB支持导出的数据可以是csv文件和j ...

  3. Mongodb数据导出工具mongoexport和导入工具mongoimport介绍

    一.导出工具mongoexport Mongodb中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件.可以通过参数指定导出的数据项,也可以根据指定的条件导 ...

  4. Mongodb数据导出工具mongoexport和导入工具mongoimport介绍(转)

    原文地址:http://chenzhou123520.iteye.com/blog/1641319 一.导出工具mongoexport Mongodb中的mongoexport工具可以把一个colle ...

  5. Mongo db 简单介绍及命令笔记

    首先来了解下什么是MongoDB ? MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为W ...

  6. mongodb数据导入导出mongoexport/mongoimport

    数据导出 mongoexport 假设库里有一张user表,里面有2条记录,我们要将它导出 > use my_mongodb switched to db my_mongodb > db. ...

  7. MongoDB备份(mongoexport)与恢复(mongoimport)

    1.备份恢复工具介绍: mongoexport/mongoimport mongodump/mongorestore(本文未涉及) 2.备份工具区别在哪里? 2.1 mongoexport/mongo ...

  8. Mongo--03 mongo副本集、备份与恢复

    目录 一.mongo副本集配置 二.查看副本集状态 三.副本集权重调整 四.创建节点 五.仲裁节点 六.mongo备份与恢复 七.准备测试数据 一.mongo副本集配置 1.创建节点目录和数据目录 # ...

  9. mongo import excle

    mongoimport --host 192.*******.** --db **  --collection **  --type csv --headerline --file /*****.cs ...

随机推荐

  1. 从NV12中裁剪子画面注意事项

    1. 裁剪时,Y和UV的地址计算: / **** * pa_yuv_main: yuv首地址 * video_frame.loff: 行偏移量 lineoffset * VDO_SIZE_W.VDO_ ...

  2. Win自带mastc远程Cenots7桌面

    1.Centos7安装桌面 yum -y groups install "GNOME Desktop" startx 2.安装xrdp 操作需要root用户权限,所以,我们先切换为 ...

  3. 写一个vue的滚动条插件

    组件源码如下: vue-scroll.vue <template> <div class="vue-scroll" ref="vueScrollW&qu ...

  4. Ubuntu下apt-get命令详解(转)

    原文:https://www.cnblogs.com/liyu925/p/6100388.html

  5. 采用二进制方式安装K8S集群,版本etcd-v3.3.10,flannel-v0.11.0,kubernetes-server-linux-amd64

    官方提供的几种Kubernetes部署方式 minikube Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用.不能用于生产环 ...

  6. js的for循环中出现异步函数,回调引用的循环值总是最后一步的值?

    这几天跟着视频学习node.js,碰到很多的异步函数的问题,现在将for循环中出现的异步函数回调值的问题总结如下: 具体问题是关于遍历文件夹中的子文件夹的,for循环包裹异步函数的代码: for (v ...

  7. LINUX CGROUP总结

    简介: Linux CGroup全称Linux Control Group, 是Linux内核的一个功能,用来限制,控制与分离一个进程组群的资源(如CPU.内存.磁盘输入输出等).这个项目最早是由Go ...

  8. Gogs + Drone 实现CI/CD(CI)

    本文通过docker-compose方式安装运行drone,先将drone的server和agent镜像拉取到本地,这样docker-compose脚本执行速度会快一点.当然,不是必须先拉取drone ...

  9. mysql 系统变量

    show variables; ---------------------------------+-------------------------------------------------- ...

  10. win10下,cmd,power shell设置默认编码为‘UTF-8

    power shell 注:以下内容在非Windows平台上写的,可能会有拼写错误,如果有,请指正,我会尽快修正.可以用Powershell的配置文件(\(PROFILE)来实现.\)PROFILE默 ...