Import и Export База данных MongoDB

View more categories:

1- Обзор

MongoDB предоставляет вам 2 способа для  import/export (импорта/экспорта) базы данных:
  1. mongoexport/mongoimport
  2. mongodump/mongostore
mongoexport: Используется для  export (экспорта) данных из  Collection в определенный файл ( json, csv,..)

mongoimport: Используется для  import (импорта) данных в  Collection из определенного файла ( json, csv,..)
Collection это понятие в  MongoDB, индентично с понятием  Table в базе данных отношений ( Oracle, SQLServer,MySQL,..).
mongodump: Используется для  export (экспорта) всех данных из базы данных в файлы (Вставить в папку), включая некоторые файлы ( bson, json)

mongostore: Используется для import (импорта) данных в базу данных из папки dump (Продукт  mongodump упомянутый выше)

2- Import/Export Collection

2.1- 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

2.1.1- mongoexport ra file json

В случае простого экспорта, вам не нужно использовать много  option (вариантов) в команде  mongoexport:
# Export to json file
# This is the simplest syntax.
# The default output is json file so you do not need to specify the output file type

mongoexport -d database_name -c collection_name -o outfile.json
Например, экспортировать collection в файл JSON.
cd C:\DevPrograms\MongoDB\bin
Экспортировать коллекцию Department в   myfirstdb в файл  jsonC:/test/department.json.

Примечание: MongoDB отличает прописные и строчные буквы, поэтому вам нужно обратить внимание когда даете название collection. Лучше всего вам нужно согласоваться на счет названия collection с первой прописной буквой. Например:

  • Department
  • Employee
  • Inventory_Item
  • Product_Category

mongoexport -d myfirstdb -c Department -o C:/test/department.json
 
Результат:
Посмотреть только что экспортированный ( export) файл:

2.1.2- mongoexport to csv file

# Export to csv file
# This is the simplest syntax:
# In the case csv file, you must provide the list of columns Collection (Required).
# List of columns separated by commas and no spaces.
# Must declare what type of output file (--csv)

mongoexport -d database_name -c collection_name -f column_1,column_2,column_3 --csv -o outfile.csv
mongoexport -d myfirstdb -c Department -f dept_id,dept_no,dept_name,location,description --csv -o C:/test/department.csv
Открыть  department.csv с помощью  Microsoft Excel:

2.1.3- mongoexport and options

  • TODO

2.2- 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

2.2.1- mongoimport from json file

Импортировать данный из файла  json в Collection:
cd C:\DevPrograms\MongoDB\bin
# Import from json file.
mongoimport -d database_name -c collection_name outfile.json

# Import into myfirstdb database
# Insert into Collection: Department2
# From file C:/test/department.json
mongoimport -d myfirstdb -c Department2 C:/test/department.json
Это иллюстрация на визуальном инструменте RoboMongo:

2.2.2- mongoimport from csv file

Импортировать данный из файла  csv в  Collection:
# Import from csv file
# This is the simplest syntax:
# --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

cd C:\DevPrograms\MongoDB\bin
 
# Import from file to database: myfirstdb
# Into collection: Department3
# File location: C:/test/department.csv
# --headerline: Using the first row of data as the column name of the Collection.

mongoimport -d myfirstdb -c Department3 --type csv --file C:/test/department.csv --headerline
Результаты на визуальном инструменте RoboMongo:

2.3- 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) в базу данных.

3.1- 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
 
cd C:\DevPrograms\MongoDB\bin
mongodump -d myfirstdb -o C:/test
Результат, создана подпапка myfirstdb в папке  C:/test, которая содержит файлы.

3.2- 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:

View more categories: