docker环境mongoexport导出MongoDB数据

news/2024/11/7 20:39:09/

因为安全问题,服务器屏蔽了mongoDB给外部客户端调用,所以我们就不可以使用Navicat等客户端连接,操作确实不方便。最近需要导出一些mongoDB数据,只能采用命令的方式导出数据,需要借助mongoexport这个命令,命令使用比较容易,掌握一些参数用法即可

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

生产环境,mongodb是部署在docker里,所以下面结合docker命令,介绍一下使用过程

查看mongo容器

[root@work01 ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                      NAMES
0achabcdefghi        mongo               "docker-entrypoint.s…"   3 years ago         Up 9 months         0.0.0.0:27017->27017/tcp   test_mongo

进入这个mongo容器

docker exec -it 0ach bash

使用mongoexport命令

root@0achabcdefghi:/# mongoexport --db test_item --collection testModel --type=csv --fields=_id,BATCH_VERSION,ITEM_NAME --out 1.csv
2023-03-10T13:45:30.736+0000	connected to: localhost
2023-03-10T13:45:31.734+0000	[##############..........]  test_item.testModel  24000/39373  (61.0%)
2023-03-10T13:45:31.907+0000	[########################]  test_item.testModel  39373/39373  (100.0%)
2023-03-10T13:45:31.907+0000	exported 39373 records

然后exit命令退出容器,copy一下容器里文件到linux服务器里,test_item_mongo是容器的name

docker cp test_item_mongo:1.csv 1.csv

http://www.ppmy.cn/news/31667.html

相关文章

SPI 接口OLED 模块 - 兼容5V 和3.3V 电平

PCB 布局参考了老王0.8元128x32OLED显示屏转接板,开源项目地址:老王0.8元128x32OLED 模块-部分优化。 老王家买的屏幕放了快一年了,终于还是决定整个单独的模块,之前一直打算集成到开发板上的,不太灵活。相比那个转接板…

【学习笔记】人工智能哲学研究:《心智、语言和机器》

关于人工智能哲学,我曾在这篇文章里 【脑洞大开】从哲学角度看人工智能:介绍徐英瑾的《心智、语言和机器》 做过介绍。图片来源:http://product.dangdang.com/29419969.html在我完成了一些人工智能相关的工作以后,我再来分享《心智…

JVM垃圾回收调优知识点整理

目录 1、JVM内存模型 1.2、堆及垃圾回收 1.3、JVM参数设置经验: 1.4、对象逃逸分析:

【虚拟工厂】SCL编写<机械手加盖模块>应用

使用scl来编写实虚拟工场中的一个机械手加盖应用项目 文章目录 目录 文章目录 前言 1.机械手加盖场景 2.了解各部分功能 3.命名变量找出输入输出 4.在博图建立变量 二、编写思路 1.分析 2.使用小模块化来编写 3.确定编程思路 三、编程 1.上料部分 2.机械手部分 3…

JavaSe第7次笔记

1. C语言里面,NULL是0地址。Java中null和0地址没关系。 2.数组可以做方法的返回值。 3.可以使用变量作为数组的个数开辟空间。 4.断言assert,需要设置。 5.排序:Arrays. sort(array); 6.查找: int index Arrays. binarySea…

java多线程(二六)ReentrantReadWriteLock读写锁详解(2)

3、读写状态的设计 同步状态在重入锁的实现中是表示被同一个线程重复获取的次数,即一个整形变量来维护,但是之前的那个表示仅仅表示是否锁定,而不用区分是读锁还是写锁。而读写锁需要在同步状态(一个整形变量)上维护多…

第十四届蓝桥杯模拟赛(第三期)Java组个人题解

第十四届蓝桥杯模拟赛(第三期)Java组个人题解 今天做了一下第三期的校内模拟赛,有些地方不确定,欢迎讨论和指正~ 文章目录第十四届蓝桥杯模拟赛(第三期)Java组个人题解填空题部分第一题【最小数】第二题【E…

Spring MVC

目录 Spring MVC 什么是Spring MVC MVC定义 MVC和Spring MVC的关系 学习Spring MVC Spring MVC项目的创建和连接 注意 RequestMapping是post还是get请求 获取参数 1.获取单个参数 2.获取多个参数 3.获取普通对象 4.获取form表单参数 5.获取form表单(多个参数) 6.获…