devstory

Importation et exportation de la base de données MongoDB

  1. La vue en général
  2. Import/Export Collection
  3. Import/Export Database

1. La vue en général

MongoDB vous fournit deux manières d'import/export de la base de données:
  • mongoexport/mongoimport
  • mongodump/mongostore
mongoexport: Est uilisé pour export (exporter) des données dans une Collection à un fichier (json, csv,..)
mongoimport: Est utilisé pour import (importer) des données dans une Collection à un fichier (json, csv,..)
Collection est le concept de MongoDB, qui est équivalant aux concepts de Table dans la base de données relationnelle (Oracle, SQL Server, MySQL,..).
mongodump: Étant utilisé pour export (exporter) toutes les données à une base de données aux fichiers (Mettre dans un dossier), y compris des fichiers (bson, json)

mongostore: Étant utilisé pour import (importer) toutes les données à une base de données aux fichiers dump (Le produit de 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
Dans une situation générale, vous avez des options (option) pour import/export qui sont listées dans la table ci-dessous:
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 a utilisé pour export (exporter) l'entité de la base de données Mongo à un dossier:
mongostore a utilisé pour import (importer) l'entité de la base de données d'un répertoire (le produit de mongodump) à une base de données.
mongodump
# The syntax to export the entire database to a directory (Includes some files)

mongodump -d database_name -o output_directory
Exemple:
Export l'entité de la base de données myfirstdb à une directive C:/test
cd C:\DevPrograms\MongoDB\bin
mongodump -d myfirstdb -o C:/test
Le résultat, le sous- dossier myfirstdb a créé dans le directive C:/test, il comprend quelques fichiers.
mongorestore
# The simplest syntax to import an entire database.

mongorestore -d database_name path_to_database
Ví dụ thư mục C:/test/myfirstdb chứa các file được dump ra trước đó. Chúng ta sẽ sử dụng nó để import vào cơ sở dữ liệu: mydb2
cd C:\DevPrograms\MongoDB\bin
mongorestore -d mydb2 C:\test\myfirstdb
Voyez sur l'outil virtuel RoboMongo: