codestory

Import und Export von MongoDB Datenbank

  1. Die Überblick
  2. Import/Export Collection
  3. Import/Export Database

1. Die Überblick

MongoDB bietet Sie 2 Maßnahmen um die Database zu importieren/exportieren
  • mongoexport/mongoimport
  • 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

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