热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MongoDB数据导入导出以及数据库备份

一、MongoDB数据导入与导出1、导出工具:mongoexportmongoDB中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。

一、MongoDB数据导入与导出

1、导出工具:mongoexport
mongoDB中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。
①语法格式

mongoexport -d dbname -c collectionname -o file --type json/csv -f field
参数说明:
	-d :数据库名
	-c :collection名
	-o :输出的文件名
	--type : 输出的格式,默认为json
	-f :输出的字段,如果-type为csv,则需要加上-f "字段名"
    -h :MongDB数据库服务器的IP,默认是本机,即 127.0.0.1
    -u :MongDB数据库的用户名
    -p :MongDB数据库的密码
    -q :导出数据的过滤条件

②示例

mongoexport -d pms -c product   -o product.json --type json -f  "skus,storeIds,detail,name,companyId"
或者
mongoexport -d pms -c product --csv  -o product.csv --type csv -f  "skus,storeIds,detail,name,companyId"

MongoDB数据导入导出以及数据库备份

2、数据导入:mongoimport
①语法:

mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field
参数说明:
	-d :数据库名
	-c :collection名
	--type :导入的格式默认json
	-f :导入的字段名
	--headerline :如果导入的格式是csv,则可以使用第一行的标题作为导入的字段
	--file :要导入的文件

②示例

mongoimport -d pms -c product --file product.json --type json
或者
mongoimport -d pms -c product --file product.csv --type csv

二、MongoDB备份与恢复

1、MongoDB数据库备份
①语法

mongodump -h dbhost -d dbname -o dbdirectory
参数说明:
	-h: MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
	-d: 需要备份的数据库实例,例如:pms
    -u :MongDB数据库的用户名
    -p :MongDB数据库的密码
	-o: 备份的数据存放位置,例如:/home/mongodump/,当然该目录需要提前建立,这个目录里面存放该数据库实例的备份数据。

②实例

mongodump -h 127.0.0.1:27017 -d pms -o /home/mongodump/

2、MongoDB数据库恢复
①语法

mongorestore -h dbhost -d dbname --dir dbdirectory

参数说明:
	-h: MongoDB所在服务器地址
	-d: 需要恢复的数据库实例,例如:pms,当然这个名称也可以和备份时候的不一样,比如pms2
	--dir: 备份数据所在位置,例如:/home/mongodump/pms/
	--drop: 恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用!

②实例

mongorestore -h 127.0.0.1:27017 -d pms_restore --dir /home/mongodump/pms/

三、客户端连接MongoDB数据库

1、java程序和MongoDB连接

spring:
  data:
    mongodb:
      database: 要连接的数据库名
      uri: mongodb://用户名:密码@服务器地址/数据名称    #有用户名和密码
      uri: mongodb://服务器地址/数据名称               #无用户名和密码

2、python程序和MongoDB连接
①安装客户端模块pymongo

pip install pymongo

②连接代码

#有密码
from pymongo import MongoClient
mOngo= pymongo.MongoClient('mongodb://服务器地址').database
mongo.authenticate('username',password='password')

datas = mongo.table.find()    #也可以这样写 datas = mongo[table].find()
for data in datas:
    # print(data.keys())
    print(data['name'])

#无密码
from pymongo import MongoClient
mOngo= MongoClient('mongodb://192.168.16.191').pms
datas = mongo.product.find()
# print(datas)
for data in datas:
    # print(data.keys())
    print(data['name'])

3、Linux服务器和MongoDB连接

#没有密码
mongo --host 服务器地址 --port 端口  数据名
mongo mongodb://服务器地址/数据名

#有密码
mongo --host 服务器地址 -u 用户名 -p --authenticationDatabase 数据名   #这样连接的时候会让输入密码
mongo mongodb://用户名:密码@服务器地址/数据名

推荐阅读
  • 如何在Java中高效构建WebService
    本文介绍了如何利用XFire框架在Java中高效构建WebService。XFire是一个轻量级、高性能的Java SOAP框架,能够简化WebService的开发流程。通过结合MyEclipse集成开发环境,开发者可以更便捷地进行项目配置和代码编写,从而提高开发效率。此外,文章还详细探讨了XFire的关键特性和最佳实践,为读者提供了实用的参考。 ... [详细]
  • HTTP协议作为互联网通信的基础,其重要性不言而喻。相比JDK自带的URLConnection,HttpClient不仅提升了易用性和灵活性,还在性能、稳定性和安全性方面进行了显著优化。本文将深入解析HttpClient的使用方法与技巧,帮助开发者更好地掌握这一强大的工具。 ... [详细]
  • 本文深入探讨了Spring Cloud Eureka在企业级应用中的高级使用场景及优化策略。首先,介绍了Eureka的安全配置,确保服务注册与发现过程的安全性。接着,分析了Eureka的健康检查机制,提高系统的稳定性和可靠性。随后,详细讨论了Eureka的各项参数调优技巧,以提升性能和响应速度。最后,阐述了如何实现Eureka的高可用性部署,保障服务的连续性和可用性。通过这些内容,开发者可以更好地理解和运用Eureka,提升微服务架构的整体效能。 ... [详细]
  • 如何使用Python高效绘制矩形图形
    本文详细介绍了如何利用Python的Turtle库高效绘制矩形图形,适合初学者快速上手。通过具体示例代码,帮助读者理解Turtle库的基本绘图方法和技巧,同时探讨了在不同应用场景中绘制矩形的实际操作,为后续复杂图形的绘制打下坚实基础。 ... [详细]
  • 在处理大规模并发请求时,传统的多线程或多进程模型往往无法有效解决性能瓶颈问题。尽管它们在处理小规模任务时能提升效率,但在高并发场景下,系统资源的过度消耗和上下文切换的开销会显著降低整体性能。相比之下,Python 的 `asyncio` 模块通过协程提供了一种轻量级且高效的并发解决方案。本文将深入解析 `asyncio` 模块的原理及其在实际应用中的优化技巧,帮助开发者更好地利用协程技术提升程序性能。 ... [详细]
  • 本文详细介绍了HDFS的基础知识及其数据读写机制。首先,文章阐述了HDFS的架构,包括其核心组件及其角色和功能。特别地,对NameNode进行了深入解析,指出其主要负责在内存中存储元数据、目录结构以及文件块的映射关系,并通过持久化方案确保数据的可靠性和高可用性。此外,还探讨了DataNode的角色及其在数据存储和读取过程中的关键作用。 ... [详细]
  • 本文深入探讨了IO复用技术的原理与实现,重点分析了其在解决C10K问题中的关键作用。IO复用技术允许单个进程同时管理多个IO对象,如文件、套接字和管道等,通过系统调用如`select`、`poll`和`epoll`,高效地处理大量并发连接。文章详细介绍了这些技术的工作机制,并结合实际案例,展示了它们在高并发场景下的应用效果。 ... [详细]
  • 本文提供了 RabbitMQ 3.7 的快速上手指南,详细介绍了环境搭建、生产者和消费者的配置与使用。通过官方教程的指引,读者可以轻松完成初步测试和实践,快速掌握 RabbitMQ 的核心功能和基本操作。 ... [详细]
  • 在本文中,我们将探讨如何使用 UniApp 封装小程序 API 请求接口的最佳实践。通过创建 `request.js` 文件,定义基础 URL 并传入后端提供的 URL 作为请求参数。同时,配置请求方法(如 GET、POST)和请求头(例如包含 token 的认证信息),以实现高效、安全的 API 调用。此外,我们还将介绍如何处理请求和响应的错误,以及如何优化请求性能,确保应用在不同平台上的兼容性和稳定性。 ... [详细]
  • 本文深入探讨了 Spring Cloud 微服务架构中 Gateway 组件的应用,详细介绍了其在实现高效请求路由与过滤方面的关键作用。文章首先从基本配置入手,逐步讲解了如何通过静态路由和动态路由实现灵活的服务访问控制。此外,还特别介绍了如何配置 Gateway 以自动从 Nacos 服务注册中心拉取服务列表,进一步提升系统的可维护性和扩展性。 ... [详细]
  • 本文精选了几个结合 Vue 和 Spring Boot 的优质开源项目,适合开发者学习和参考。这些项目不仅涵盖了前后端分离的最佳实践,还提供了丰富的功能示例和详细的文档,有助于提升开发效率和技术水平。项目地址:https://github.com/ 示例链接。 ... [详细]
  • IIS 7及7.5版本中应用程序池的最佳配置策略与实践
    在IIS 7及7.5版本中,优化应用程序池的配置是提升Web站点性能的关键步骤。具体操作包括:首先定位到目标Web站点的应用程序池,然后通过“应用程序池”菜单找到对应的池,右键选择“高级设置”。在一般优化方案中,建议调整以下几个关键参数:1. **基本设置**: - **队列长度**:默认值为1000,可根据实际需求调整队列长度,以提高处理请求的能力。此外,还可以进一步优化其他参数,如处理器使用限制、回收策略等,以确保应用程序池的高效运行。这些优化措施有助于提升系统的稳定性和响应速度。 ... [详细]
  • 将Windows Server 2003的DHCP服务迁移到Windows Server 2008 R2的最佳实践与详细步骤
    近期,我们在为某单位进行网络系统升级,从Windows Server 2003迁移至Windows Server 2008 R2的过程中,整体进展较为顺利。然而,在迁移DHCP服务时遇到了一些挑战。本文详细介绍了此次迁移的最佳实践和具体步骤,包括前期准备、环境评估、数据迁移以及后期验证等环节,旨在为同类项目提供参考和指导。 ... [详细]
  • Spring 中获取 Request 的多种方式及其线程安全性的深入解析
    本文深入探讨了在Spring MVC框架下获取HTTP请求对象的多种方法,详细分析了每种方法的实现原理及其线程安全性,为开发者提供了全面的技术参考。 ... [详细]
  • 如何构建基于Spring MVC框架的Java Web应用项目
    在构建基于Spring MVC框架的Java Web应用项目时,首先应创建一个新的动态Web项目。接着,需将必要的JAR包导入至WebContent/WEB-INF/lib目录下,确保包括Spring核心库及相关依赖。如遇缺失的JAR包,可向社区求助或通过Maven等工具自动下载。正确配置后,即可开始搭建应用结构与功能模块。 ... [详细]
author-avatar
最好的冥羽
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有