前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >docker环境mongoexport导出MongoDB数据

docker环境mongoexport导出MongoDB数据

作者头像
SmileNicky
发布2023-03-12 13:38:09
3770
发布2023-03-12 13:38:09
举报
文章被收录于专栏:Nicky's blogNicky's blog

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

代码语言:javascript
复制
--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容器

代码语言:javascript
复制
[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容器

代码语言:javascript
复制
docker exec -it 0ach bash

使用mongoexport命令

代码语言:javascript
复制
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

代码语言:javascript
复制
docker cp test_item_mongo:1.csv 1.csv
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-03-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档