Import и Export База данных MongoDB
1. Обзор
MongoDB предоставляет вам 2 способа для import/export (импорта/экспорта) базы данных:
- mongoexport/mongoimport
- mongodump/mongostore
mongoexport: Используется для export (экспорта) данных из Collection в определенный файл (json, csv,..)
mongoimport: Используется для import (импорта) данных в Collection из определенного файла (json, csv,..)
mongoimport: Используется для import (импорта) данных в Collection из определенного файла (json, csv,..)
Collection это понятие в MongoDB, индентично с понятием Table в базе данных отношений (Oracle, SQLServer,MySQL,..).
mongodump: Используется для export (экспорта) всех данных из базы данных в файлы (Вставить в папку), включая некоторые файлы (bson, json)
mongostore: Используется для import (импорта) данных в базу данных из папки dump (Продукт mongodump упомянутый выше)
mongostore: Используется для import (импорта) данных в базу данных из папки dump (Продукт mongodump упомянутый выше)
2. Import/Export Collection
mongoexport
# Export to json
mongoexport -d database_name - c collection_name -o outfile.json
# Export to file csv
mongoexport --csv -o /tmp/people.csv -d school -c people -f firstName,lastName,telephone,email
mongoimport
# Import from json file
mongoimport -d database_name -c collection_name outfile.json
# Import from csv file
# --headerline: Using the first row of data as the column name of the Collection.
mongoimport -d database_name -c collection_name --type csv --file locations.csv --headerline
mongoexport/mongoimport and options
В общем случае вы имеете варинты (option) для import/export в списке в таблице ниже:
Option | Meaning | Example |
--help | produce help message | |
-v [ --verbose ] | be more verbose (include multiple times for more verbosity e.g. -vvvvv) | |
-h [ --host ] arg | mongo host to connect to ("left,right" for pairs) | |
--port arg | server port. (Can also use --host hostname:port) | |
--ipv6 | enable IPv6 support (disabled by default) | |
-d [ --db ] arg | database to use | |
-c [ --collection ] arg | collection to use (some commands) | |
-u [ --username ] arg | username | |
-p [ --password ] arg | password | |
--dbpath arg | directly access mongod data files in the given path,instead of connecting to a mongod instance - needs to lock the data directory, so cannot be used if a mongod is currently accessing the same path | |
--directoryperdb | if dbpath specified, each db is in a separate directory | |
-f [ --fields ] arg | comma seperated list of field names e.g. -f name,age | |
--fieldFile arg | file with fields names - 1 per line | |
--ignoreBlanks | if given, empty fields in csv and tsv will be ignored | |
--type arg | type of file to import. default: json (json,csv,tsv) | |
--file arg | file to import from; if not specified stdin is used | |
--drop | drop collection first | |
--headerline | CSV,TSV only - use first line as headers | |
--upsert | insert or update objects that already exist | |
--upsertFields arg | comma-separated fields for the query part of the upsert. You should make sure this is indexed. | |
--stopOnError | stop importing at the first error rather than continuing | |
--jsonArray | load a json array, not one item per line. Currently limited to 4MB. |
3. Import/Export Database
mongodump используется для export (экспорта) всей базы данных Mongo в папку:
mongostore используется для import (импорта) всех данных из папки (продукт mongodump) в базу данных.
mongostore используется для import (импорта) всех данных из папки (продукт mongodump) в базу данных.
mongodump
# The syntax to export the entire database to a directory (Includes some files)
mongodump -d database_name -o output_directory
Например:
Export всю базу данных myfirstdb в папку C:/test
Export всю базу данных myfirstdb в папку C:/test
cd C:\DevPrograms\MongoDB\bin
mongodump -d myfirstdb -o C:/test
Результат, создана подпапка myfirstdb в папке C:/test, которая содержит файлы.
mongorestore
# The simplest syntax to import an entire database.
mongorestore -d database_name path_to_database
Например, папка C:/test/myfirstdb содержит файлы, которые были dump. Мы используем ее для импорта в базу данных: mydb2
cd C:\DevPrograms\MongoDB\bin
mongorestore -d mydb2 C:\test\myfirstdb
Смотрим результат на визуальном инструменте RoboMongo: