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
相关文章
|
12天前
|
JSON NoSQL MongoDB
mongodb导出聚合查询的数据
mongodb导出聚合查询的数据
|
13天前
|
存储 NoSQL 关系型数据库
MongoDB 的数据关系
MongoDB是面向文档的NoSQL数据库,以其灵活的数据模型区别于传统关系型数据库。数据以JSON-like文档形式存储,文档可嵌套并存储在集合中。其特点包括:嵌入式文档、弱类型架构(无模式)、无连接性及引用关系。MongoDB支持动态添加字段,通过嵌入或引用处理文档关联,适应各种数据结构和复杂关系,适合不同应用场景。
|
22天前
|
NoSQL MongoDB
MongoDB数据日期显示相差8小时
MongoDB数据日期显示相差8小时
12 0
|
3月前
|
JSON NoSQL 小程序
Mongodb数据库的导出和导入总结
Mongodb数据库的导出和导入总结
189 0
|
3月前
|
存储 NoSQL 大数据
mongodb数据库的优缺点
MongoDB 是一个流行的 NoSQL 数据库,主要用于大规模数据存储和处理。下面是 MongoDB 数据库的一些优点和缺点: ### 优点: 1. **灵活的模式设计**:MongoDB 是一个文档数据库,支持动态的模式设计,允许您存储不同结构和格式的数据。 2. **水平扩展**:MongoDB 支持水平扩展,可以轻松地在多个节点和服务器之间分布数据,以满足高并发和大规模数据处理的需求。 3. **丰富的查询功能**:MongoDB 提供了强大的查询语言和索引支持,允许您在大数据集上进行高效的数据检索和分析。 4. **高性能**:通过使用内存映射(mmap)和其他优化技术,M
306 0
|
23小时前
|
NoSQL MongoDB Redis
Python与NoSQL数据库(MongoDB、Redis等)面试问答
【4月更文挑战第16天】本文探讨了Python与NoSQL数据库(如MongoDB、Redis)在面试中的常见问题,包括连接与操作数据库、错误处理、高级特性和缓存策略。重点介绍了使用`pymongo`和`redis`库进行CRUD操作、异常捕获以及数据一致性管理。通过理解这些问题、易错点及避免策略,并结合代码示例,开发者能在面试中展现其技术实力和实践经验。
15 8
Python与NoSQL数据库(MongoDB、Redis等)面试问答
|
1月前
|
NoSQL 网络协议 MongoDB
Windows公网远程连接MongoDB数据库【无公网IP】
Windows公网远程连接MongoDB数据库【无公网IP】
|
1月前
|
存储 NoSQL 关系型数据库
一篇文章带你搞懂非关系型数据库MongoDB
一篇文章带你搞懂非关系型数据库MongoDB
55 0
|
1月前
|
人工智能 NoSQL MongoDB
|
2月前
|
SQL NoSQL Java
文档型数据库MongoDB
文档型数据库MongoDB