文档菜单
文档首页
/
MongoDB Compass

导入和导出数据

本页内容

  • 将数据导入集合
  • 从集合导出数据
  • 从命令行导入和导出数据

您可以使用MongoDB Compass导入和导出数据到和从集合. Compass支持导入和导出 JSON 和 CSV 文件。要导入或导出集合中的数据,请通过选择数据库选项卡中的集合或点击左侧导航中的集合来导航到详细集合视图。

注意

Compass 不是一个备份数据的工具。有关备份解决方案的信息,请参阅自托管部署的备份方法.

MongoDB Compass可以从JSON或CSV文件中导入数据到集合中。

  • 在以下情况下不允许将数据导入集合:MongoDB Compass只读版.

  • 如果您连接到数据湖。则无法导入数据

在您将数据导入MongoDB Compass之前,必须确保数据格式正确。

从JSON文件导入数据时,您可以将数据格式化为

  • 按行分隔的文档,或者

  • 数组中的逗号分隔的文档

示例

以下按行分隔的.json文件格式正确

{ "type": "home", "number": "212-555-1234" }
{ "type": "cell", "number": "646-555-4567" }
{ "type": "office", "number": "202-555-0182"}

以下逗号分隔的.json数组文件也格式正确

[{ "type": "home", "number": "212-555-1234" }, { "type": "cell", "number": "646-555-4567" }, { "type": "office", "number": "202-555-0182"}]

Compass忽略JSON数组中的行断符。

Compass在导入时自动为这些对象生成ObjectIDs,因为初始JSON中没有指定ObjectIDs。

从CSV文件导入数据时,文件的第一行必须是逗号分隔的文档字段名列表。文件中的后续行必须是按顺序与第一行中字段顺序相对应的逗号分隔的字段值。

示例

以下.csv文件导入三个文档

name,age,fav_color,pet
Jeff,25,green,Bongo
Alice,20,purple,Hazel
Tim,32,red,Lassie

MongoDB Compass在导入时自动为这些对象生成ObjectIDs,因为初始CSV文件中没有指定ObjectIDs。

要将格式化的数据导入到集合中

1

要了解如何连接到部署,请参阅 连接到 MongoDB。

2

您可以从 集合 选项卡中选择集合,或在左侧面板中单击集合。

3
4

选择要导入的JSON或CSV文件,然后点击选择

如果您正在导入CSV文件,可以在指定字段和类型下指定要导入的字段及其类型。

Select fields to import from a CSV file
点击放大

要排除您要导入的CSV文件中的某个字段,请取消选中该字段名称旁边的复选框。要为字段选择类型,请使用该字段名称下方的下拉菜单。

5

选项下,配置适用于您的用例的导入选项。

如果您正在导入CSV文件,可以选择如何分隔数据。

对于JSON和CSV文件导入,您可以切换忽略空字符串错误时停止

  • 如果选中,忽略空字符串将删除导入文档中具有空字符串值的字段。文档仍然导入除其他所有字段外的所有字段。

  • 如果勾选,则当出现错误时,在错误时停止将阻止任何数据的导入。如果没有勾选,数据将一直插入,直到遇到错误,成功的插入不会回滚。在两种情况下,遇到错误后导入操作都不会继续。

6

进度条显示导入状态。如果在导入过程中发生错误,进度条将变为红色,并在对话框中显示错误消息。要查看所有错误,请点击查看日志

导入成功后,对话框将关闭,Compass将显示包含新导入文档的集合页面。

MongoDB Compass可以以JSONCSV文件的形式从集合中导出数据。如果您为您的集合指定了过滤器聚合管道Compass则仅导出与指定查询或管道结果匹配的文档。

  • 尽可能避免将数据导出为 CSV 文件。因为 CSV 文件可能会丢失类型信息,并且不适合用作数据的备份。

  • 您可以使用查询过滤器来导出与过滤器匹配的文档。

  • 您可以在查询栏中使用 项目 字段来指定返回或导出的字段。

要将整个集合导出到文件

1

要了解如何连接到部署,请参阅 连接到 MongoDB。

2

您可以从 集合 选项卡中选择集合,或在左侧面板中单击集合。

3
4

您可以选择JSONCSV。如果您选择JSON,可以展开高级JSON格式下拉菜单,并从以下扩展JSON格式中选择

JSON格式
描述
默认扩展JSON
一种避免BSON类型信息丢失的字符串格式。这是默认设置。Compass
宽松扩展JSON

一种强调可读性和互操作性的字符串格式,但牺牲了类型保留。也就是说,从宽松格式转换为BSON可能会丢失类型信息。

警告:此格式不建议用于数据完整性。

规范扩展JSON
一种在牺牲可读性和互操作性的情况下强调类型保留的字符串格式。也就是说,从规范格式转换为BSON格式通常将保留类型信息,但在某些特定情况下除外。
5

选择导出文件的路径,然后点击选择

进度条显示导出状态。如果在导出过程中发生错误,进度条将变为红色,并在对话框中显示错误消息。导出成功后,对话框关闭。

要从集合中导出文档的子集

1

要了解如何连接到部署,请参阅 连接到 MongoDB。

2

您可以从 集合 选项卡中选择集合,或在左侧面板中单击集合。

3

查询栏中指定一个过滤器,以仅导出与过滤器匹配的文档。

4

导出对话框的顶部显示在查询栏中输入的查询。

5

您可以选择导出 所有字段选择表格中的字段。在查询栏中,您还可以使用 项目 字段来指定要返回或导出的字段。

只有勾选的字段会被包含在导出的文件中。

如果想要包含的字段没有自动检测到,您可以通过 添加字段 按钮将其添加。

注意

Compass对您的收藏夹进行采样以预填充字段列表。仅在小部分文档中出现的字段可能不会自动检测到。

有关采样的详细信息,请参阅 采样。

6

导出文件类型 下,选择 JSONCSV。如果您选择 JSON,可以展开 高级JSON格式 下拉菜单,并从以下扩展JSON格式中选择

JSON格式
描述
默认扩展JSON
一种避免BSON类型信息丢失的字符串格式。这是默认设置。Compass
宽松扩展JSON

一种强调可读性和互操作性的字符串格式,但牺牲了类型保留。也就是说,从宽松格式转换为BSON可能会丢失类型信息。

警告:此格式不建议用于数据完整性。

规范扩展JSON
一种在牺牲可读性和互操作性的情况下强调类型保留的字符串格式。也就是说,从规范格式转换为BSON格式通常将保留类型信息,但在某些特定情况下除外。
7

选择导出文件的路径,然后点击选择

进度条显示导出状态。如果在导出过程中发生错误,进度条将变为红色,并在对话框中显示错误消息。导出成功后,对话框关闭。

要从聚合管道导出结果

1

要了解如何连接到部署,请参阅 连接到 MongoDB。

2

您可以从“集合”选项卡中选择集合,或者点击左侧面板中的集合。

3

要了解如何创建聚合管道,请参阅创建聚合管道。

4
5

导出文件类型 下,选择 JSONCSV。如果您选择 JSON,可以展开 高级JSON格式 下拉菜单,并从以下扩展JSON格式中选择

JSON格式
描述
样本文档
默认扩展JSON
一种避免BSON类型信息丢失的字符串格式。这是默认设置。Compass
{
"fortyTwo" : 42,
"oneHalf" : 0.5,
"bignumber" : {
"$numberLong" : "5000000000"
}
}
宽松扩展JSON

一种强调可读性和互操作性的字符串格式,但牺牲了类型保留。也就是说,从宽松格式转换为BSON可能会丢失类型信息。

警告:此格式不建议用于数据完整性。

{
"fortyTwo" : 42,
"oneHalf": 0.5,
"bignumber" : 5000000000
}
规范扩展JSON
一种在牺牲可读性和互操作性的情况下强调类型保留的字符串格式。也就是说,从规范格式转换为BSON格式通常将保留类型信息,但在某些特定情况下除外。
{
"fortyTwo" : {
"$numberInt" : "42"
},
"oneHalf" : {
"$numberDouble" : "0.5"
},
"bignumber" : {
"$numberLong" : "5000000000"
}
}
6

要从命令行导入和导出数据,您可以使用 MongoDB 的 数据库工具。请参阅 mongoimportmongoexport

返回

使用使用中加密