数据的导出

• 语法格式 1

– #mongoexport [--host IP 地址 --port 端口 ]

-d 库名 -c 集合名 -f 字段名 1, 字段名 2

--type=csv

> 目录名 / 文件名 .csv

[root@host51 ~]# mongoexport  --help

[root@host51 ~]# mkdir /mbak

[root@host51 ~]# mongoexport  --host 192.168.4.51 --port 27051 -d ddsdb -c c2 -f name,school --type=csv > /mbak/c2.csv

2018-08-01T15:47:11.207+0800 connected to: 192.168.4.51:27051

2018-08-01T15:47:11.208+0800 exported 14 records

[root@host51 ~]# cat  /mbak/c2.csv

name,school

bob,tarena

zhangsan,danei

张三,达外

jack,tarena

lilei,tarena

xiaoqiang,

tom,

tom,

php,

jj,

kk,

,

,

,

语法格式 2

– #mongoexport --host IP 地址 --port 端口

-d 库名 -c 集合名 -q ‘{ 条件 }’ -f 字段名 1 ,字段名 2  --type=csv > 目录名 / 文件名 .csv

注意:导出为 csv 格式必须使用 -f 指定字段名列表 !!!

[root@host51 ~]# mongoexport  --host 192.168.4.51 --port 27051 -d ddsdb -c c2 --type=json > /mbak/c2.json

2018-08-01T15:51:48.273+0800 connected to: 192.168.4.51:27051

2018-08-01T15:51:48.275+0800 exported 14 records

[root@host51 ~]# cat /mbak/c2.json

{"_id":{"$oid":"5b61513d32bc8e678acd6f3f"},"name":"bob","school":"tarena"}

{"_id":{"$oid":"5b61519132bc8e678acd6f40"},"name":"zhangsan","school":"danei"}

{"_id":{"$oid":"5b6151b132bc8e678acd6f41"},"name":"张三","school":"达外"}

{"_id":{"$oid":"5b61526b32bc8e678acd6f42"},"name":"jack","school":"tarena","single":false}

{"_id":{"$oid":"5b6152ea32bc8e678acd6f43"},"name":"lilei","school":"tarena","single":false,"pay":null}

{"_id":{"$oid":"5b61553632bc8e678acd6f44"},"name":"xiaoqiang","like":["gril","eat","piao","sleep"]}

{"_id":{"$oid":"5b61559c32bc8e678acd6f45"},"name":"tom","xf":195}

{"_id":{"$oid":"5b6155ef32bc8e678acd6f46"},"name":"tom","xf":{"$numberLong":"4918"}}

{"_id":{"$oid":"5b61571c32bc8e678acd6f47"},"name":"php","code":{"$code":"function (){}"},"like":100000.0}

{"_id":{"$oid":"5b61590132bc8e678acd6f49"},"name":"jj","stu_id":{"$oid":"5b61590132bc8e678acd6f48"},"class":"nsd1804"}

{"_id":{"$oid":"5b6159bd32bc8e678acd6f4a"},"name":"kk","sr":"Wed Aug 01 2018 14:57:01 GMT+0800 (CST)"}

{"_id":{"$oid":"5b615d4e32bc8e678acd6f4b"},"ywzd":{"writer":"dmy","pay":68.0,"vers":"v2"}}

{"_id":{"$oid":"5b615e2d32bc8e678acd6f4c"},"tarena":{"address":"beijing","tell":8.888888e+06,"person":"harry"}}

{"_id":{"$oid":"5b615f4832bc8e678acd6f4d"},"jbname":"shell","rcode":{"$regex":".$","$options":""}}

[root@host51 ~]#

数据导入:

[root@host51 ~]# mongoimport  --help

语法格式 1

– #mongoimport –host IP 地址 – port 端口   -d 库名  – c 集合名   --type=json       目录名 / 文件名 .json

> show dbs

admin   0.000GB

config  0.000GB

ddsdb   0.000GB

local   0.000GB

[root@host51 ~]# mongoimport  --host 192.168.4.51  --port 27051 -d gamedb -c col --type=json  /mbak/c2.json

2018-08-01T16:22:54.238+0800 connected to: 192.168.4.51:27051

2018-08-01T16:22:54.457+0800 imported 14 documents

[root@host51 ~]# mongoimport  --host 192.168.4.51  --port 27051 -d gamedb -c stu --type=csv  /mbak/c2.csv

2018-08-01T16:37:03.316+0800 error validating settings: must specify --fields, --fieldFile or --headerline to import this file type

2018-08-01T16:37:03.316+0800 try 'mongoimport --help' for more information

[root@host51 ~]# mongoimport  --host 192.168.4.51  --port 27051 -d gamedb -c stu  --headerline --type=csv  /mbak/c2.csv

2018-08-01T16:38:18.720+0800 connected to: 192.168.4.51:27051

2018-08-01T16:38:18.804+0800 imported 14 documents

[root@host51 ~]# mongoimport  --host 192.168.4.51  --port 27051 -d gamedb -c tea -f name,school  --type=csv  /mbak/c2.csv

2018-08-01T16:40:04.868+0800 connected to: 192.168.4.51:27051

2018-08-01T16:40:05.019+0800 imported 15 documents

• 语法格式 2

– #mongoimport –host IP 地址 – port 端口

-d 库名 – c 集合名

--type=csv --headerline [--drop] 目录名 / 文件名.csv

> db.tea.count()

30

[root@host51 ~]# mongoimport  --host 192.168.4.51  --port 27051 -d gamedb -c tea -f name,school  --type=csv --drop  /mbak/c2.csv

2018-08-01T16:41:44.333+0800 connected to: 192.168.4.51:27051

2018-08-01T16:41:44.334+0800 dropping: gamedb.tea

2018-08-01T16:41:44.454+0800 imported 15 documents

> db.tea.count()

15

练习:

把系统文件(/etc/passwd) 存储到mongodb数据库里的userdb的coluser的集合里

> db.coluser.find()

{ "_id" : ObjectId("5b617485df5cbc631e0dc4bc"), "name" : "yaya", "password" : "x", "uid" : 1, "gid" : 1, "comment" : "my gril", "homedir" : "/home/yaya", "shell" : "/bin/bash" }

[root@host51 ~]# mongoexport  --host 192.168.4.51 --port 27051 -d userdb -c coluser -f name,password,uid,gid,comment,homedir,shell --type=csv  >  /mbak/coluser.csv

2018-08-01T16:54:08.030+0800 connected to: 192.168.4.51:27051

2018-08-01T16:54:08.032+0800 exported 1 record

[root@host51 ~]# cat  /mbak/coluser.csv

name,password,uid,gid,comment,homedir,shell

yaya,x,1,1,my gril,/home/yaya,/bin/bash

把 /etc/password/弄成/mbak/coluser.csv 一样的文件格式:

[root@host51 ~]# cp /etc/passwd /mbak/

[root@host51 ~]# cd /mbak/

[root@host51 mbak]# ls

c2.csv  c2.json  c3.json  coluser.csv  passwd

[root@host51 mbak]# sed -i 's/:/,/g' passwd

[root@host51 mbak]# head -2 passwd

root,x,0,0,root,/root,/bin/bash

bin,x,1,1,bin,/bin,/sbin/nologin

[root@host51 mbak]# sed -i '$r passwd' coluser.csv

[root@host51 mbak]# head  -5 coluser.csv

name,password,uid,gid,comment,homedir,shell

yaya,x,1,1,my gril,/home/yaya,/bin/bash

root,x,0,0,root,/root,/bin/bash

bin,x,1,1,bin,/bin,/sbin/nologin

把文件导入到库里:

[root@host51 mbak]# mongoimport  --host 192.168.4.51 --port 27051 -d userdb -c coluser --headerline --drop --type=csv /mbak/coluser.csv

2018-08-01T17:08:36.078+0800 connected to: 192.168.4.51:27051

2018-08-01T17:08:36.078+0800 dropping: userdb.coluser

2018-08-01T17:08:36.240+0800 imported 41 documents

> show dbs

admin   0.000GB

config  0.000GB

ddsdb   0.000GB

gamedb  0.000GB

local   0.000GB

userdb  0.000GB

> use userdb

switched to db userdb

> show tables

coluser

> db.coluser.find()

{ "_id" : ObjectId("5b6178943dd57015866eb75c"), "name" : "yaya", "password" : "x", "uid" : 1, "gid" : 1, "comment" : "my gril", "homedir" : "/home/yaya", "shell" : "/bin/bash" }

{ "_id" : ObjectId("5b6178943dd57015866eb75d

数据备份

• 备份数据所有库到当前目录下的 dump 目录下     //备份所有库所有表

# mongodump [ --host ip 地址 --port 端口 ]

[root@host51 mbak]# mongodump  --host 192.168.4.51 --port 27051

[root@host51 mbak]# ls dump/             //在当前目录生成dump目录

admin  ddsdb  gamedb  userdb

• 备份时指定备份的库和备份目录

# mongodump [ --host ip 地址 --port 端口 ] -d 数据库名 -c 集合名 -o 目录

目录无需事先创建 备份时指定即可!!!

[root@host51 mbak]# mongodump  --host 192.168.4.51 --port 27051  -d gamedb -c col

2018-08-01T17:37:20.674+0800 writing gamedb.col to

2018-08-01T17:37:20.675+0800 done dumping gamedb.col (14 documents)

[root@host51 mbak]# ls dump/gamedb/

col.bson           col.metadata.json  stu.bson           stu.metadata.json  tea.bson           tea.metadata.json

[root@host51 mbak]# mongodump  --host 192.168.4.51 --port 27051  -d gamedb -c stu  /gamedbdir

2018-08-01T17:34:02.924+0800 positional arguments not allowed: [/gamedbdir]

2018-08-01T17:34:02.924+0800 try 'mongodump --help' for more information

[root@host51 mbak]# mkdir  /gamedbdir

[root@host51 mbak]# mongodump  --host 192.168.4.51 --port 27051  -d gamedb -c stu  /gamedbdir

2018-08-01T17:34:46.646+0800 positional arguments not allowed: [/gamedbdir]

2018-08-01T17:34:46.646+0800 try 'mongodump --help' for more information

[root@host51 mbak]# mongodump  --host 192.168.4.51 --port 27051  -d gamedb -c stu  -o /bake

2018-08-01T17:36:10.018+0800 writing gamedb.stu to

2018-08-01T17:36:10.020+0800 done dumping gamedb.stu (14 documents)

[root@host51 mbak]# ls  /bake/

gamedb

[root@host51 mbak]#  ls /bake/gamedb/

stu.bson  stu.metadata.json

• 查看 bson 文件内容

#bsondump ./dump/bbs/t1.bson

[root@host51 mbak]# bsondump  ./dump/ddsdb/c2.bson

{"_id":{"$oid":"5b61513d32bc8e678acd6f3f"},"name":"bob","school":"tarena"}

{"_id":{"$oid":"5b61519132bc8e678acd6f40"},"name":"zhangsan","school":"danei"}

{"_id":{"$oid":"5b6151b132bc8e678acd6f41"},"name":"张三","school":"达外"}

{"_id":{"$oid":"5b61526b32bc8e678acd6f42"},"name":"jack","school":"tarena","single":false}

{"_id":{"$oid":"5b6152ea32bc8e678acd6f43"},"name":"lilei","school":"tarena","single":false,"pay":null}

{"_id":{"$oid":"5b61553632bc8e678acd6f44"},"name":"xiaoqiang","like":["gril","eat","piao","sleep"]}

{"_id":{"$oid":"5b61559c32bc8e678acd6f45"},"name":"tom","xf":195}

{"_id":{"$oid":"5b6155ef32bc8e678acd6f46"},"name":"tom","xf":{"$numberLong":"4918"}}

{"_id":{"$oid":"5b61571c32bc8e678acd6f47"},"name":"php","code":{"$code":"function (){}"},"like":100000.0}

{"_id":{"$oid":"5b61590132bc8e678acd6f49"},"name":"jj","stu_id":{"$oid":"5b61590132bc8e678acd6f48"},"class":"nsd1804"}

{"_id":{"$oid":"5b6159bd32bc8e678acd6f4a"},"name":"kk","sr":"Wed Aug 01 2018 14:57:01 GMT+0800 (CST)"}

{"_id":{"$oid":"5b615d4e32bc8e678acd6f4b"},"ywzd":{"writer":"dmy","pay":68.0,"vers":"v2"}}

{"_id":{"$oid":"5b615e2d32bc8e678acd6f4c"},"tarena":{"address":"beijing","tell":8.888888e+06,"person":"harry"}}

{"_id":{"$oid":"5b615f4832bc8e678acd6f4d"},"jbname":"shell","rcode":{"$regex":".$","$options":""}}

2018-08-01T17:41:33.663+0800 14 objects found

数据恢复:

• 语法格式

– mongorestore --host IP 地址 --port 端口 -d 数据库名 [ -c 集合名 ] 备份目录名

模拟数据丢失:

方法一:

> db.stu.remove({})

WriteResult({ "nRemoved" : 14 })

[root@host51 mbak]# mongorestore  --host 192.168.4.51 --port 27051 -d gamedb  -c stu /bake/gamedb/stu.bson

2018-08-01T17:46:20.073+0800 checking for collection data in /bake/gamedb/stu.bson

2018-08-01T17:46:20.074+0800 reading metadata for gamedb.stu from /bake/gamedb/stu.metadata.json

2018-08-01T17:46:20.075+0800 restoring gamedb.stu from /bake/gamedb/stu.bson

2018-08-01T17:46:20.137+0800 no indexes to restore

2018-08-01T17:46:20.137+0800 finished restoring gamedb.stu (14 documents)

2018-08-01T17:46:20.137+0800 done

> db.stu.count()

14

> db.stu.find()

方法二:  //重新建立一个新的集合

[root@host51 mbak]# mongorestore  --host 192.168.4.51 --port 27051 -d gamedb  -c regtab  /bake/gamedb/stu.bson

2018-08-01T17:47:47.238+0800 checking for collection data in /bake/gamedb/stu.bson

2018-08-01T17:47:47.240+0800 reading metadata for gamedb.regtab from /bake/gamedb/stu.metadata.json

2018-08-01T17:47:47.332+0800 restoring gamedb.regtab from /bake/gamedb/stu.bson

2018-08-01T17:47:47.395+0800 no indexes to restore

2018-08-01T17:47:47.395+0800 finished restoring gamedb.regtab (14 documents)

2018-08-01T17:47:47.395+0800 done

> show tables

col

regtab

stu

tea

方法三: //建立一个新的库和新的集合

[root@host51 mbak]# mongorestore  --host 192.168.4.51 --port 27051 -d buydb  -c regtab   /bake/gamedb/stu.bson

2018-08-01T17:50:33.832+0800 checking for collection data in /bake/gamedb/stu.bson

2018-08-01T17:50:33.833+0800 reading metadata for buydb.regtab from /bake/gamedb/stu.metadata.json

2018-08-01T17:50:33.926+0800 restoring buydb.regtab from /bake/gamedb/stu.bson

2018-08-01T17:50:33.989+0800 no indexes to restore

2018-08-01T17:50:33.989+0800 finished restoring buydb.regtab (14 documents)

2018-08-01T17:50:33.989+0800 done

> use buydb

switched to db buydb

> show tables

regtab

mongodb数据的导入导出备份恢复相关推荐

  1. Postman 实现备份数据 Postman恢复数据 postman 导出导入数据 postman 导入导出数据

    Postman 实现备份数据 Postman恢复数据 postman 导出导入数据 postman 导入导出数据 一.需求描述 在使用postman调试接口时,若遇到内网的环境,无法通过账户同步数据: ...

  2. mongodb 导出指定数据库文件大小_大数据技术之将mongodb 数据指定字段导出,然后指定字段导入mysql 实例 及相关问题解决...

    本篇文章探讨了大数据技术之将mongodb 数据指定字段导出,然后指定字段导入mysql 实例 及相关问题解决,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. 需求:将mongo ...

  3. mongodb 导入 mysql_将mongodb 数据指定字段导出,然后指定字段导入mysql 实例 及相关问题解决...

    需求:将mongodb 数据指定字段导出,然后再指定字段导入mysql  表中 直接上图吧, 最后 会将遇到几个问题及解决方案贴出,以便遇到类似问题可以迅速解决(期间所用命令具体用法不在本文详解之内) ...

  4. dmp导入数据 oracle_oracle数据库:数据的导入导出及备份

    相信大家在客户现场维护的时候一定会适时地做一些备份操作,对关键业务建立完备的备份机制,本篇文章就是给大家一个linux环境下的参考. 一. 用imp/exp实现数据的导入导出 (一)环境配置 1.执行 ...

  5. 使用Oracle 的 imp ,exp 命令实现数据的导入导出

    本文对Oracle数据的导入导出 imp ,exp 两个命令进行了介绍, 并对其相应的参数进行了说明,然后通过一些示例进行演练,加深理解. 文章最后对运用这两个命令可能出现的问题(如权限不够,不同or ...

  6. oracle导出对象和数据,浅析Oracle对象和数据的导入导出

    对于Oracle对象和数据的导入导出,我们会用到一些小工具.以前我们一般都是使用PL/SQL Developer来实现,但是PL/SQL Developer在导出.导入数据时有两个问题: 1.要把表数 ...

  7. docker导入MySQL文件_Docker容器中Mysql数据的导入/导出详解

    前言 Mysql数据的导入导出我们都知道一个mysqldump命令就能够解决,但如果是运行在docker环境下的mysql呢? 解决办法其实还是用mysqldump命令,但是我们需要进入docker的 ...

  8. 分组后分页_SQL(约束、视图、分页、序列、索引、同义词、创建用户,为用户授权、执行计划的使用 数据的导入导出)...

    学习主题:SQL 学习目标: 掌握约束 掌握视图 修改表名与删除表 删除表中的列语句的语法结构是什么? 答:delete 表名from table where ; 删除表中的列语句的语法结构是什么? ...

  9. mongodb 用命令导入导出数据库,用命令在Robo3T 上查询。

    mongodb 用命令导入导出数据库,用命令在Robo3T 上查询. mongodb导入导出命令 导入命令 导出命令 在Robo3T上查询 mongodb导入导出命令 快捷方式:如果没有配置mongo ...

  10. oracle转trs,TRS数据库数据的导入导出2.doc

    TRS数据库数据的导入导出2 一.数据的自动备份设置: 1.运行命令 mkdir /opt/OracleBackup 创建目录; 2.附于目录所有者权限,打入命令 chown oracle:oinst ...

最新文章

  1. 集成学习+ensemble learning
  2. 移动互联网用户的心理需求【转载】
  3. java中min用法,java11教程--类MinguoDate用法
  4. 粤桂协作消费对接活动 农业大健康·李喜贵:功能性农业合作研究
  5. 如何用word写书_如何用vba在word中添加打勾的方框?
  6. ++递归 字符串全排列_一文看懂全排列算法
  7. 手机输入法带拼音声调_分享4种给拼音加声调的方法,让你的word更有灵魂
  8. 测评分享丨海思Hi3519AV100开发板功能测试
  9. 华为手机如何给应用加锁_如何设置华为手机应用程序锁?
  10. MySQL的系统信息函数和加密解密函数(十四)
  11. 纯真IP数据库格式详解(转)
  12. MATLAB图像处理_YUV格式详解
  13. el表达式设置option标签selected
  14. 微信小程序java装修家装系统
  15. 【splishsplash】修复catch.hpp的问题
  16. 文件与磁盘空间管理---外存分配方式、存储空间管理
  17. 黑群晖从入门到入土,自编译适合自己硬件的黑群晖7.1.x引导(黑群晖DSM7.X引导用arpl编译教程)
  18. run(牛客2018多校二国庆欢乐派对 )
  19. 人体动作识别与评价——区别、联系及研究进展
  20. html圣诞快乐英文,圣诞快乐英语,圣诞快乐英语简写?

热门文章

  1. 网络开盘选房微信抢房软件下载及使用教程
  2. 永洪BI-实现按钮输出文件
  3. 页面置换算法之最佳置换算法的模拟(C++)
  4. 使用WinMTR对网络进行测试,找出网络异常
  5. python读取lmdb文件_python-将numpy数组写入lmdb
  6. 【单片机课程合集】摩尔吧魔鬼集训营,单片机尽情学!
  7. 优思学院|精益六西格玛中的8大浪费是什么?
  8. 十分好用的拓扑图插件JTopo
  9. ap6212中串口蓝牙在linux下的使用记录
  10. 基于JAVA幼儿园管理系统计算机毕业设计源码+系统+lw文档+部署