--导出数据集

C:\MongoDB\db\bin>mongoexport -d ttx-xwms-test -c things -o d:\mongo_data\things.txt

C:\MongoDB\db\bin>mongoexport -d ttx-xwms -c interface_log_body -o C:\Users\Administrator\Desktop\tingtong_mongo\interface_log_body.json 导出json格式

C:\MongoDB\db\bin>mongoexport -d ttx-xwms -c interface_log -q  "{'type' : 'wms.shipment.update'}" -o C:\Users\Administrator\Desktop\tingtong_mongo\interface_log1.json  带查询条件

mongoexport -d xwms -c interface_log -q '{$and : [{"type" : "wms.shipment.update"}, {created : {$gte: ISODate("2020-01-15T00:00:00.000Z")}}]}' -o /mongodumpData/2020_whl_interface_body.json -u root -p 1234   多条件

mongoexport -d xwms -c interface_log_body -q '{"_id":{"$in":[ObjectId("5dfad4f2cbb55107c6261ef8"),ObjectId("5e216e88cbb55107c629b186")]}}' -o /mongodumpData/2020_whl_interface_body_2222.csv -u root -p 1234 in 语句导出

C:\MongoDB\db\bin> -- 安装路径

--备份数据库(导出整个数据库集)

C:\MongoDB\db\bin>mongodump -h 127.0.0.1:27017 -d ttx-xwms-test -o d:\mongo_data\

C:\MongoDB\db\bin> -- 安装路径

--还原数据库(还原整个数据库集)

C:\MongoDB\db\bin>mongorestore -h 127.0.0.1:27017 -d ttx-xwms-test_restore --dir d:\mongo_data\ttx-xwms-test\

C:\MongoDB\db\bin> -- 安装路径

-d 新的数据库名字

--dir d:\mongo_data\ttx-xwms-test\   数据存在的目录名

在本地使用 27017 启动你的mongod服务。打开命令提示符窗口,进入MongoDB安装目录的bin目录输入命令mongodump:

>mongodump
执行以上命令后,客户端会连接到ip为 127.0.0.1 端口号为 27017 的MongoDB服务上,并备份所有数据到 bin/dump/ 目录中
>mongorestore
执行以上命令后,会还原当前bin/dump/ 目录中的所有数据库

利用rebomongo 工具进行删除数据集

--删除interface_log_body的整个文档集

db.getCollection('interface_log_body').remove({}) --删除表里的数据

--查找文档集

db.getCollection('interface_log_body').find({})

--删除集合

db.getCollection('interface_log_body').drop() --将整个数据表进行删除

======对于在docker容器中的mongodb==========================================================

进入容器

docker exec -it <你的MongodDB容器名> /bin/bash

容器中执行:

mongodump -h 127.0.0.1:27017 -d test -o /dump

参数 作用
-h host
--port 端口
-d 指定数据库
-o 指定备份到哪个目录,不指定应该是直接备份到根目录的/dump文件夹
-u 用户名
-p 密码

系统备份成功会在/home/dump目录下自动生成一个数据库名的文件夹/test,里面是全部Collection备份的bson文件

打包备份文件夹

容器中执行:

tar -zcvf test.tar.gz /dump/test

四、从容器复制到宿主

exit 退回到宿主机

从容器中复制出来文件到宿主机

docker cp <你的MongodDB容器名>:/dump/test.tar.gz  /home

解压

tar -zxvf /home/test.tar.gz

从宿主机复制到容器

docker cp test.tar.gz <你的MongodDB容器名>:/dump/test.tar.gz

进入容器,解压文件

tar -zxvf /home/test.tar.gz

还原数据

mongorestore -h 127.0.0.1:27017 -d ttx-xwms-test_restore --dir /home/ttx-xwms-test/

https://segmentfault.com/a/1190000012330284

对于linux docker中的mongo整个还原步骤

在停止业务的前提下(实质上,就是保证mongo服务不能被写入数据)

将mongo下面data文件夹,整个迁移到另外的服务器,然后启动服务,即可验证数据是否正常

//停止103服务器的mongo服务
docker stop mongo mongo-express
//停止108服务器的mongo服务
docker stop mongo mongo-express
//删除 108服务器 /home/ttx/app/compose/mongo/data/db 内的所有数据
cd /home/ttx/app/compose/mongo/data/db
sudo rm -rf db/
//将103服务器 /home/ttx/app/compose/mongo/data/db 内的所有数据复制到 108服务器的/home/ttx/app/compose/mongo/data/db 目录下
a: 在103服务器上执行 scp -r db ttx@0.0.0.108:/home/ttx/app/compose/mongo/data/
b: 在108服务器上执行 scp -r ttx@0.0.0.103:/home/ttx/app/compose/mongo/data/db/ ./
最终目的都是要将103服务器的mongo数据复制到108服务器的指定目录下
//复制完成之后,将108服务器的mongo启动起来
cd /home/ttx/app/compose/mongo docker-compose up -d
验证数据是否正确

  

mongoDB导出-导入数据的更多相关文章

  1. mongodb导出导入数据

    在使用mongodump导出单个表的时候,遇到了一个错误 # mongodump --host xxx --port 27017 --username 'admin' -p '123456' -d 数 ...

  2. MongoDB中导入数据命令的使用(mongoimport)

    MongoDB中导入数据命令的使用(mongoimport) 制作人:全心全意 语法: mongoimport <options> <file> 介绍: 该命令可以将CSV,T ...

  3. GreenPlum/postgres copy命令导出/导入数据

    一.COPY命令简单实用 1.copy在postgres与GreenPlum介绍 1.1 postgrespostgres的COPY命令可以快速的导出/导入数据到postgresql数据库中,支持常用 ...

  4. mongodb导出导入实例记录

    mongodb导出导入实例记录 平时很用mongodb,所以用到了,就需要去网上搜索方法,干脆将自己的实际经历记录下来,方便日后使用. # 大致需求 源库:db_name_mongo 源IP:192. ...

  5. BCP 导出导入数据(SQL Server)

    BCP指令工具可通过安装SQL Server获得. 1. 根据现有的数据库生成表的format文件(导入导出数据的时候需要) bcp db_test.dbo.Table1 format nul -c ...

  6. 使用BCP导出导入数据

    bcp 实用工具可以在 Microsoft SQL Server 实例和用户指定格式的数据文件间大容量复制数据. 使用 bcp 实用工具可以将大量新行导入 SQL Server 表,或将表数据导出到数 ...

  7. oracle 导出导入数据

    在window的运行中输出cmd,然后执行下面的一行代码, imp blmp/blmp@orcl full=y file=D:\blmp.dmp OK,问题解决.如果报找不到该blmp.dmp文件,就 ...

  8. 【Teradata Utility】使用SQL Assistant导出导入数据

    1.导出 (1)选择菜单栏File,点击Export Results,输入导出数据的SQL: select * from etl_data.soure_table; (2)选择导出数据格式为txt或h ...

  9. mysql导出导入数据

    使用sql语句导出数据: 导出时如果不写绝对路径,会提示The MySQL server is running with the --secure-file-priv option so it can ...

随机推荐

  1. C# 之 async / await

    直接看一个例子 private async void button1_Click(object sender, EventArgs e) { var t = Task.Run(() => { T ...

  2. js中for循环遍历的写法

    众所周知,for循环是编程中必不可少的知识点:那么如何高效的写出循环呢? 我们要先知道for循环的基础样式是由自有变量自增自减和if判组成的: 1 for(条件){ 2 执行语句 3 } 而for循环 ...

  3. docker-compose All In One

    docker-compose All In One docker-compose 多容器应用 $ docker-compose -h Define and run multi-container ap ...

  4. Promise nested then execute order All In One

    Promise nested then execute order All In One Promise nested then nested Promise not return new Promi ...

  5. what's the difference amount of pdf, epub, and mobi format

    what's the difference amount of pdf, epub, and Mobi format What is the difference between pdf, epub ...

  6. github & code owners

    github & code owners https://help.github.com/en/github/creating-cloning-and-archiving-repositori ...

  7. c++ 读取ASCII

    void ReadASCII(BYTE* addr, size_t offset, char r[]) { size_t i = 0; char c; while (true) { c = *(add ...

  8. qt 取进程列表,读写内存, 写字节集

    导入库 pro win32:LIBS += -lpsapi win32:LIBS += -lkernel32 获取列表 #include "mainwindow.h" #inclu ...

  9. js 的 ArrayBuffer 和 dataView

    arrayBuffer文档 一个十六进制代表4位,0xF = 1111,0xFF = 1111 1111,八位是1字节,所以通常用两个16进制代表1字节. 假如我申请一个8字节的内存空间,然后初始化为 ...

  10. yaml配置和ini配置的数据源配置和数据获取

    1.前言 关于yaml和ini的相关理论暂不做记录,不影响代码编写,百度即可. 2.关于配置文件的选择 yaml 和 ini 都使用过, 但是yaml更符合人类使用,已要弃用ini,后期各项目均采用y ...