mongoDB数据的导出导入

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: mongoDB数据的导出导入

在工作中,我一般使用Robomongo-1.0去连接mongodb的,据我所知,但是这些工具一般都没有导入导出的功能。所以想要导点数据比较麻烦,后来查了一下mongodb自带了两个工具用来完成这些功能。

1、mongoexport用来导出

mongoexport可以把collection导出成json或csv文件,默认是导出json格式。

语法:mongoexport -d db -c collection -o file --type json/csv -f field

参数说明:

-d :数据库名

-c :collection名

-o :输出的文件名

–type : 输出的格式(可以省略)

-f :输出的字段,如果-type为csv,则需要加上-f “字段名”

示例:

./mongoexport -d test_001 -c operation_log -o /usr/back/log.json

2、mongoimport用来数据导入

语法:mongoimport -d db -c collection --file filename --headerline --type json/csv -f field

参数说明:

-d :数据库名

-c :collection名

–type :导入的格式,默认json(可以省略)

-f :导入的字段名

–headerline :如果导入的格式是csv,则可以使用第一行的标题作为导入的字段

–file :要导入的文件

示例:

./mongoimport -d test_001 -c operation_log --file /usr/back/log.json

这里标记一个问题,就是当前用户没有权限的时候,使用mongoexport导出会出现异常:

Failed: not authorized on databasename to execute command { count: “operation_log”, query: {} }

后来查找了一下,发现可以使用mongodump导出整个库,导出的数据格式是BSON,可读性稍微差一些,可以解决上述问题,而且可以实现远程导出

语法:mongodump -h host -u user -p pwd -d db -o file –authenticationDatabase admin

参数说明:

-h :操作的设备host

-u:超级用户名

-p:超级用户密码

-d:数据库名

-c:collection名

-o:输出的文件名

示例:

./mongodump -h 127.0.0.1 -u user -p pwd  -d test_001 -o /usr/back/log.json --authenticationDatabase admin

超级用户的role有两种,userAdmin或者userAdminAnyDatabase(比前一种多加了对所有数据库的访问)。

db是指定数据库的名字,admin是管理数据库

mongodump对应的恢复工具是mongorestore

语法:mongorestore -h host -u user -p pwd -d db -o file

参数说明:

-h :操作的设备host

-u:超级用户名

-p:超级用户密码

-d:数据库名

-c:collection名

-o:要恢复的文件名

示例:

./mongorestore -h 127.0.0.1 --port 27017 -u user -p pwd -d test /data/backup/test/  --authenticationDatabase admin

上面所说的语法是大家平时用的比较多的,还有另外一些语法,具体可以查看mongodb的官网

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
17天前
|
JSON NoSQL MongoDB
实时计算 Flink版产品使用合集之要将收集到的 MongoDB 数据映射成 JSON 对象而非按字段分割,该怎么操作
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
19天前
|
监控 NoSQL MongoDB
mongoDB查看数据的插入日志
【5月更文挑战第9天】mongoDB查看数据的插入日志
312 4
|
9天前
|
监控 NoSQL MongoDB
mongoDB查看数据的插入日志
【5月更文挑战第22天】mongoDB查看数据的插入日志
21 3
|
17天前
|
SQL 资源调度 NoSQL
实时计算 Flink版产品使用合集之使用Flink CDC SQL MongoDB Connector时,可以采取什么措施来提升数据消费速率
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
19天前
|
人工智能 NoSQL atlas
Fireworks AI和MongoDB:依托您的数据,借助优质模型,助力您开发高速AI应用
我们欣然宣布MongoDB与 Fireworks AI 正携手合作让客户能够利用生成式人工智能 (AI)更快速、更高效、更安全地开展创新活动
2601 1
|
17天前
|
存储 SQL NoSQL
什么是 MongoDB,为什么它是当今最受欢迎的数据库之一?
什么是 MongoDB,为什么它是当今最受欢迎的数据库之一?
|
19天前
|
JSON NoSQL MongoDB
理解Nosql数据库的mongodb
【5月更文挑战第5天】MongoDB是2009年发布的一款通用型NoSQL数据库,结合了关系模型和NoSQL的优点,适用于各种现代应用。其特点包括图形界面、数据服务、云基础设施集成(AWS, Azure, Google Cloud)。它具备全面的查询能力、ACID事务、可调整的一致性保证,并有多语言驱动及工具,可在任何地方运行。
80 4
|
19天前
|
存储 NoSQL MongoDB
MongoDB数据库转换为表格文件的Python实现
MongoDB数据库转换为表格文件的Python实现
55 0
|
19天前
|
存储 NoSQL 关系型数据库
Percona XtraBackup是否支持MongoDB数据库备份?
【5月更文挑战第13天】Percona XtraBackup是否支持MongoDB数据库备份?
49 1
|
5天前
|
NoSQL MongoDB 数据库
使用MongoDB进行NoSQL数据库管理
【5月更文挑战第29天】MongoDB是流行的NoSQL数据库,以其文档存储、动态模式、高性能和丰富查询功能著称。它采用BSON格式,支持灵活的数据结构。基本操作包括安装、连接、创建数据库和集合、插入/查询/更新/删除文档。最佳实践涉及合理设计数据模型、使用索引、监控调优、备份恢复及确保安全性。MongoDB为复杂应用提供了高效的数据管理解决方案。