Import und Export von MongoDB Datenbank

View more Tutorials:

1- Die Überblick

MongoDB bietet Sie 2 Maßnahmen um die Database zu importieren/exportieren 
  1. mongoexport/mongoimport
  2. mongodump/mongostore
mongoexport: ist zuständig für das Export der Daten aus einer Collection in einer File (json, csv,..)

mongoimport: ist zuständig für das Import der Daten in einer Collection aus einer File (json, csv,..)
Collection ist ein Begriff vom MongoDB, es ist ähnlich mit dem Begriff Table in der Beziehungsdatabase  (Oracle, SQL Server, MySQL,..).
mongodump: ist zuständig für das Export aller Daten einer Database in einer File (In einem Ordner stellen), schließt einigen File ein (bson, json)

mongostore: ist zuständig für das Import der Daten in einer Database aus dem Ordner dump (der Produkt vom obengemeinten 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

Falls das export einfach ist, brauchen Sie viele Option in dem Befehl von mongoexport:nicht
# 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

Zum Beispiel: eine Kollektion in einer File JSON exportieren.

cd C:\DevPrograms\MongoDB\bin
Die Kollektion Department in der Database myfirstdb in die File json exportierenC:/test/department.json.

Beachten Sie: MongoDB unterscheidet die Großbuchstabe und die Kleinbuchstabe. Deshalb achten Sie, den Name von collection zu stellen. Am besten sollen Sie die erste Buchstabe des Name von collection groß stellen. Zum Beispiel:

  • Department
  • Employee
  • Inventory_Item
  • Product_Category

mongoexport -d myfirstdb -c Department -o C:/test/department.json
Das Ergebnis
Die exportierte File sehen

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
Öffnen Sie department.csv mit 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

Importieren Sie die Daten aus einer File json in einer 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
Das ist das Foto auf dem visuellen Tool RoboMongo:

2.2.2- mongoimport from csv file

Import Sie die Daten aus einer File csv in einer 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
Das Ergebnis auf dem visuellen Tool RoboMongo:

2.3- mongoexport/mongoimport and options

Im Generalfall haben Sie die Options um die Liste in der folgenden Tabellen zu 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 ist für das Export (exportieren) aller Database Mongo in einem Ordner:
mongostore ist für das Import (importieren) aller Daten aus einem Ordner (der Produkt vom mongodump) in einer Database

3.1- mongodump

# The syntax to export the entire database to a directory (Includes some files)

mongodump -d database_name -o output_directory
Zum Beispiel:
Exportieren Sie alle Database myfirstdb in dem Ordner C:/test
cd C:\DevPrograms\MongoDB\bin
mongodump -d myfirstdb -o C:/test
Das Ergebnis, dass der Sub-Ordner myfirstdb in dem Ordner C:/test erstellt wird, der einige File enthaltet

3.2- mongorestore

# The simplest syntax to import an entire database.

mongorestore -d database_name path_to_database
Zum Beispiel: Der Ordner C:/test/myfirstdb enthaltet die File, die vorher dump gemacht wird. Wir benutzen sie um in die Database mydb2 zu importieren
cd C:\DevPrograms\MongoDB\bin
mongorestore -d mydb2 C:\test\myfirstdb
Das Ergebnis auf dem visuellen Tool RoboMongo:

View more Tutorials: