Mongo导入导出详解

一、二进制导入导出(推荐)

适用场景:全量备份/恢复,保留索引和元数据
工具:mongodumpmongorestore

1. 导出数据 (mongodump)

mongodump --host <hostname> --port <port> \--username <username> --password <password> \--db <database_name> \--collection <collection_name> \--out <output_directory>

常用参数:

  • –gzip: 压缩输出
  • –query: 按条件导出数据
  • –authenticationDatabase: 认证数据库

2. 导入数据 (mongorestore)

mongorestore --host <hostname> --port <port> \--username <username> --password <password> \--db <target_database> \<input_directory>

常用参数:

  • –drop: 导入前清空集合
  • –gzip: 解压导入
  • –nsInclude: 指定导入的命名空间

二、JSON/CSV 导入导出

适用场景:跨平台数据交换,可读性强
工具:mongoexportmongoimport

1. 导出为 JSON/CSV (mongoexport)

mongoexport --host <hostname> --port <port> \--username <username> --password <password> \--db <database_name> \--collection <collection_name> \--type json (或 csv) \--fields <field1,field2> \--out <output_file.json>

常用参数:

  • –query: 按条件导出(使用 JSON 格式)
  • –limit: 限制导出条数
  • –pretty: 格式化输出

2. 导入 JSON/CSV (mongoimport)

mongoimport --host <hostname> --port <port> \--username <username> --password <password> \--db <database_name> \--collection <collection_name> \--type json (或 csv) \--file <input_file.json>

常用参数:

  • –drop: 导入前清空集合
  • –headerline: CSV 文件包含表头
  • –upsert: 使用更新插入模式

三、注意事项

  1. 数据类型兼容性
    JSON 格式可能丢失 MongoDB 特有类型(如 Date, ObjectId),建议优先使用二进制格式。
  2. 索引处理
    mongoexport/import 不会保留索引,需手动重建;mongodump/restore 会保留索引。
  3. 大文件处理
    使用 --gzip 压缩可减少传输体积,处理大型数据时建议分片操作。
  4. 认证与权限
    确保用户对目标数据库有 readWrite 权限,使用 --authenticationDatabase 指定认证库。

四、示例场景

案例1:导出 users 集合到 JSON

mongoexport --db mydb --collection users --out users.json

案例2:从 CSV 恢复数据到新集合

mongoimport --db mydb --collection new_users --type csv --headerline --file users.csv

案例3:全库备份与恢复

# 备份
mongodump --db mydb --out /backup/20231001
# 恢复
mongorestore --db mydb_restored /backup/20231001/mydb

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/20615.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jeesite5:Star24k,Spring Boot 3.3+Vue3实战开源项目,架构深度拆解!让企业级项目开发效率提升300的秘密武器

嗨&#xff0c;大家好&#xff0c;我是小华同学&#xff0c;关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法 企业级应用开发的需求日益增长。今天&#xff0c;我们要介绍的是一个在GitHub上广受好评的开源项目——Jeesite5。这不仅是一个技术框架&#xff0c;更…

Python OpenCV图像去模糊实战:离焦模糊的修复原理与Python实现

针对因焦距未调好导致的彩色图像模糊问题,结合OpenCV的锐化处理和色彩空间转换技术,推荐以下分步解决方案: 一、YUV色彩空间锐化(保留颜色信息) 原理: YUV色彩空间:YUV色彩空间将图像分为亮度(Y)和色度(U和V)分量。通过仅处理亮度通道(Y),可以有效避免对颜色信…

深度学习算法优化如何实现?

深度学习算法优化是一个复杂而多维的过程&#xff0c;旨在提高模型的性能、准确性和效率。以下是一些实现深度学习算法优化的关键步骤和方法&#xff1a; 一、数据预处理与增强 数据清洗&#xff1a;去除重复、错误或无效的数据&#xff0c;确保数据集的准确性和一致性。数据增…

Windows平台的小工具,功能实用!

今天给大家分享一款超实用的Windows平台监控工具&#xff0c;堪称“桌面小管家”&#xff0c;能帮你轻松掌握电脑的各种运行状态&#xff0c;比如网速、下载速度、内存和CPU占用率等常用参数&#xff0c;让你的电脑运行情况一目了然。 TrafficMonitor 网速监控悬浮窗软件 这款…

【JavaEE进阶】MyBatis通过XML实现增删改查

目录 &#x1f38d;前言 &#x1f340;配置连接字符串和MyBatis &#x1f343;写持久层代码 ​&#x1f6a9;添加mapper接口 &#x1f6a9;添加UserInfoMapper.xml &#x1f6a9;单元测试 &#x1f332;查(Select) &#x1f6a9;结果映射 &#x1f334;增(Insert&…

Cloud之快照存储(Cloud Snapshot Storage)

Cloud之快照存储 一、什么是快照 1. 快照的定义 快照&#xff08;Snapshot&#xff09;是一种记录某一时刻数据状态的技术。在计算机存储和虚拟化环境中&#xff0c;快照能够将文件系统或虚拟机的状态保存下来&#xff0c;以便以后能够回溯到某一特定时间点。快照通常用于备…

nlp|微调大语言模型初探索(2),训练自己的聊天机器人

前言 上篇文章记录了具体的微调语言大模型步骤&#xff0c;以及在微调过程中可能遇见的各种报错&#xff0c;美中不足的是只是基于开源数据集的微调&#xff0c;今天来记录一下怎么基于自己的数据集去微调大语言模型&#xff0c;训练自己的智能机器人&#xff01;&#xff01;&…

剑指 Offer II 025. 链表中的两数相加

comments: true edit_url: https://github.com/doocs/leetcode/edit/main/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20025.%20%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%9A%84%E4%B8%A4%E6%95%B0%E7%9B%B8%E5%8A%A0/README.md 剑指 Offer II 025. 链表中的两数相加 题目描述 给定两个 非…

numpy(02 数据类型和数据类型转换)

numpy(01 入门) 目录 一、Python NumPy 数据类型 1.1 NumPy 基本类型 1.2 数据类型对象 (dtype) 1.3 具体实例 二、Numpy数据类型转换 2.1 浮点数据转换 2.2 整型数据转换 2.3 浮点数转整数 一、Python NumPy 数据类型 1.1 NumPy 基本类型 下表列举了常用 NumPy 基…

python: SQLAlchemy (ORM) Simple example using SQLite

领域层&#xff08;Domain&#xff09;&#xff1a;定义了 School 实体类和 SchoolRepository 抽象基类&#xff0c;明确了业务实体和数据访问的契约。基础设施层&#xff08;Infrastructure&#xff09;&#xff1a;通过 SQLAlchemy 实现了 SchoolRepository 类&#xff0c;负…

MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part 1

第01章_Linux下MySQL的安装与使用 首先在vmware中下载centos7&#xff0c;实际上8更好一点&#xff0c;不过centos已经是时代的眼泪了&#xff0c;我之前已经教过了&#xff0c;不过是忘了&#xff0c;所以重新说一遍&#xff0c;看文档即可 2.开机前修改mac地址 &#xff0…

谈谈 ES 6.8 到 7.10 的功能变迁(1)- 性能优化篇

前言 ES 7.10 可能是现在比较常见的 ES 版本。但是对于一些相迭代比较慢的早期业务系统来说&#xff0c;ES 6.8 是一个名副其实的“钉子户”。 借着工作内升级调研的任务东风&#xff0c;我整理从 ES 6.8 到 ES 7.10 ELastic 重点列出的新增功能和优化内容。将分为 6 个篇幅给…

Vue前端开发-Vant组件之Button组件

Vant 有丰富的UI组件&#xff0c;而基础组件是全部组件的核心&#xff0c;基础组件中将常用的元素做了二次的开发&#xff0c;封装成Vant格式组件&#xff0c;如按钮、图片和布局等&#xff0c;这些封装后的Vant组件&#xff0c;提供了更多面向实际应用的属性和事件&#xff0c…

《机器学习数学基础》补充资料:求解线性方程组的克拉默法则

《机器学习数学基础》中并没有将解线性方程组作为重点&#xff0c;只是在第2章2.4.2节做了比较完整的概述。这是因为&#xff0c;如果用程序求解线性方程组&#xff0c;相对于高等数学教材中强调的手工求解&#xff0c;要简单得多了。 本文是关于线性方程组的拓展&#xff0c;供…

力扣 买卖股票的最佳时机

贪心算法典型例题。 题目 做过股票交易的都知道&#xff0c;想获取最大利润&#xff0c;就得从最低点买入&#xff0c;最高点卖出。这题刚好可以用暴力&#xff0c;一个数组中找到最大的数跟最小的数&#xff0c;然后注意一下最小的数在最大的数前面即可。从一个数组中选两个数…

idea无法联网,离线安装插件

插件地址&#xff1a;https://plugins.jetbrains.com/ JetBrains Marketplace 如果无法进入&#xff0c;可以试试 配置hosts 3.163.125.103 plugins.jetbrains.com ip 变了&#xff0c;可以查询个最新的&#xff1a; https://tool.chinaz.com/speedtest/plugins.jetbrai…

【Spring详解一】Spring整体架构和环境搭建

一、Spring整体架构和环境搭建 1.1 Spring的整体架构 Spring框架是一个分层架构&#xff0c;包含一系列功能要素&#xff0c;被分为大约20个模块 Spring核心容器&#xff1a;包含Core、Bean、Context、Expression Language模块 Core &#xff1a;其他组件的基本核心&#xff…

Spring Boot 定时任务:轻松实现任务自动化

在现代应用开发中&#xff0c;定时任务是一个常见的需求。比如&#xff0c;我们可能需要定时清理过期数据、定时发送邮件通知等。 操作流程 开启定时任务注解 在启动类添加注解EnableScheduling 设置时间&#xff08;固定时间间隔&#xff09; 使用 Scheduled 注解创建定时…

DeepSeek R1生成图片总结2(虽然本身是不能直接生成图片,但是可以想办法利用别的工具一起实现)

DeepSeek官网 目前阶段&#xff0c;DeepSeek R1是不能直接生成图片的&#xff0c;但可以通过优化文本后转换为SVG或HTML代码&#xff0c;再保存为图片。另外&#xff0c;Janus-Pro是DeepSeek的多模态模型&#xff0c;支持文生图&#xff0c;但需要本地部署或者使用第三方工具。…

燧光 XimmerseMR SDK接入Unity

官网SDK文档连接&#xff1a; RhinoX Unity XR SDK 一&#xff1a;下载SDK 下载链接&#xff1a;RhinoX Unity XR SDK 二&#xff1a;打开Unity项目&#xff0c;添加Package 1、先添加XR Core Utilties包和XR Interaction Toolkit包 2、导 2、再导入下载好的燧光SDK 三&…