从 MongoDB 导出数据
MongoDB 允许您将其数据导出为其他文件格式,例如 JSON 或 CSV,以便其他应用程序可以在外部使用这些数据。因此,为了从 MongoDB 数据库导出数据,MongoDB 提供了一个名为mongoexport的命令行工具。使用此工具,您可以以 JSON 或 CSV(逗号分隔值)格式导出集合的数据。此外,我们还可以在导出数据时对集合使用限制和排序等功能。
注意: mongoexport 不在 mongo shell 中运行。因此,当您使用 mongoexport 工具时,您必须存在于 mongo shell 中。
句法:
用于以 JSON 格式导出数据
mongoexport –db database_name –collection collection_name –out path_or_name_of_the_file
用于以 CSV 格式导出数据
mongoexport –db database_name –collection collection_name –type=csv –fields fields_names –out path_or_name_of_the_file
要点:
- 这里,out 命令指定了要存储导出数据的目录和文件。如果我们不使用 –out 文件将在我们运行 cmd 时所在的路径中创建。
- 如果未创建指定的文件,则 mongoexport 工具将自动创建一个文件并将数据存储在其中。
- 如果您的系统中没有 mongoexport 工具,那么您可以从这里安装它。
- mongoexport 工具还提供了选项。一些常用的选项是:
Option | Description |
---|---|
–help | It will return the information about option and the use of mongoexport |
–version | It will return the version of mongoexport |
–db | It will specify the name of the database in which mongoexport will run. |
–collection | It will specify the collection to export. |
–fields | It will specify the fields that will include in the export. If you are specifying multiple fields the use comma in between them. E.g. –fields name, class |
–type | It will specify the file type to export. For JSON format use json and for CSV format use csv. |
–out | It will specify a file in which the data is going to store. |
–skip | Using this option you can control from where mongoexport starts exporting files. |
–sort | Using this option you can sort the exporting data. |
–limit | Using this option you can limit the number of documents to export. |
例子:
在以下示例中,我们正在使用:
Database: GeeksforGeeks
Collection: students
Documents: five documents that contain the details of the students in the form of field-value pairs.
- 以 JSON 格式导出整个集合:
在这个例子中,我们将使用 mongoexport 工具将学生集合中存在的所有文档导出到一个 JSON 文件(命名为exportstudents.json)。
mongoexport –db GeeksForGeeks –collection students –out C:\Users\Darksider\exportstudents.json
因此,这里我们将学生集合中存在的所有 5 个文档导出到一个 JSON 文件。
- 使用限制仅导出 2 条记录:
在此示例中,我们将使用 mongoexport 工具仅将学生集合中的 2 个文档导出到 JSON 文件(名为 studentlim.json)。
mongoexport –db GeeksForGeeks –collection students –limit 2 –out C:\Users\Darksider\studentslim.json
因此,这里我们通过将 –limit 的值设置为 2 来仅从学生集合中导出 2 个文档。
- 以 CSV 格式导出整个集合:
在此示例中,我们将使用 mongoexport 工具将学生集合中存在的所有文档导出到 CSV 文件(名为 student.csv)。
mongoexport –db GeeksForGeeks –collection students –type=csv –fields name,age –out C:\Users\Darksider\students.csv