# 数据导入与导出（mongoimport、mongoexport）

URL: https://caijiao.org/mongodb/08-deploy/03-import-export
Source: docs/mongodb/08-deploy/03-import-export.md
Description: 本章节介绍 MongoDB 的数据导入与导出工具 mongoimport 和 mongoexport，方便数据的格式转换和迁移。

MongoDB 提供 `mongoimport` 和 `mongoexport` 工具，支持 JSON、CSV 等格式的数据导入和导出，方便数据交换与备份。

## 数据导出 — mongoexport

`mongoexport` 用于从 [MongoDB](/mongodb/) 导出数据为 JSON 或 CSV 格式文件。

### 基本用法

导出整个集合为 JSON 文件：

```bash
mongoexport --db myDatabase --collection users --out users.json
````

导出为 CSV 文件：

```bash
mongoexport --db myDatabase --collection users --type=csv --fields name,age,email --out users.csv
```

### 常用选项

* `--query`：指定导出条件，如 `{ "age": { "$gt": 20 } }`。
* `--jsonArray`：将输出格式改为 JSON 数组。
* `--username`、`--password`、`--authenticationDatabase`：认证参数。

## 数据导入 — mongoimport

`mongoimport` 用于将 JSON、CSV 或 TSV 格式的数据导入到 MongoDB。

### 基本用法

导入 JSON 文件：

```bash
mongoimport --db myDatabase --collection users --file users.json
```

导入 CSV 文件：

```bash
mongoimport --db myDatabase --collection users --type csv --headerline --file users.csv
```

### 常用选项

* `--drop`：导入前删除目标集合中的数据。
* `--upsert`：匹配已有文档进行更新，否则插入新文档。
* `--columnsHaveTypes`：CSV 文件列包含类型信息。

## 注意事项

* 导入导出时需注意数据格式和字段匹配。
* 使用认证和加密连接，确保数据安全。
* 大数据量操作时注意性能和资源消耗。

---

通过 `mongoimport` 和 `mongoexport`，MongoDB 提供了灵活便捷的数据交换方案，支持多种格式和复杂场景。
