Existe-t-il un moyen de vider la collection mongo au format json? Soit sur le shell ou en utilisant le pilote java, je recherche celui qui offre les meilleures performances.
Existe-t-il un moyen de vider la collection mongo au format json? Soit sur le shell ou en utilisant le pilote java, je recherche celui qui offre les meilleures performances.
Réponses:
Mongo inclut un utilitaire mongoexport (voir la documentation) qui peut vider une collection. Cet utilitaire utilise le libmongoclient natif et est probablement la méthode la plus rapide.
mongoexport -d <database> -c <collection_name>
Aussi utile:
-o
: écrire la sortie dans un fichier, sinon la sortie standard est utilisée ( docs )
--jsonArray
: génère un document json valide, au lieu d'un objet json par ligne ( docs )
--pretty
: sorties json formaté ( docs )
--pretty
drapeau:mongoexport -d mydatabase -c mycollection --pretty
mongoexport --host mongodb1.example.net --port 37017 --username user --password "pass" --collection contacts --db marketing --out mdb1-examplenet.json
--pretty
soit parti depuis la version 2.6.10.
Utilisez mongoexport / mongoimport pour vider / restaurer une collection:
Exporter le fichier JSON :
mongoexport --db <database-name> --collection <collection-name> --out output.json
Importer un fichier JSON :
mongoimport --db <database-name> --collection <collection-name> --file input.json
ATTENTION
mongoimport
etmongoexport
ne préservez pas de manière fiable tous les types de données BSON riches car JSON ne peut représenter qu'un sous-ensemble des types pris en charge par BSON. En conséquence, les données exportées ou importées avec ces outils peuvent perdre une certaine fidélité.
Aussi, http://bsonspec.org/
BSON est conçu pour être rapide à encoder et à décoder. Par exemple, les entiers sont stockés sous forme d'entiers 32 (ou 64) bits, ils n'ont donc pas besoin d'être analysés vers et depuis le texte. Cela utilise plus d'espace que JSON pour les petits entiers, mais est beaucoup plus rapide à analyser.
En plus de la compacité, BSON ajoute des types de données supplémentaires non disponibles dans JSON, notamment les types de données BinData et Date.
mongoexport
/ mongoimport
aller - retour?
Voici ma commande pour référence:
mongoexport --db AppDB --collection files --pretty --out output.json
Sous Windows 7 (MongoDB 3.4), on doit déplacer le cmd à l'endroit où mongod.exe
et mongo.exe
réside le fichier =>
C:\MongoDB\Server\3.4\bin
sinon il ne fonctionnera pas dire qu'il ne recongnize mongoexport
commande.
De la documentation Mongo:
L'utilitaire mongoexport prend une collection et exporte vers JSON ou CSV. Vous pouvez spécifier un filtre pour la requête ou une liste de champs à afficher
En savoir plus ici: http://www.mongodb.org/display/DOCS/mongoexport
Si vous souhaitez vider toutes les collections, exécutez cette commande:
mongodump -d {DB_NAME} -o /tmp
Il générera toutes les données de collections json
et les bson
extensions dans le /tmp/{DB_NAME}
répertoire
mongodump
produit les données au BSON
format. D'autres réponses sont correctement appelées mongoexport
le bon outil.
mongoexport -d <database> -c <collection_name> --out <xxx.json> --pretty --host <host> --port <port> --username <user> --authenticationDatabase admin
Vous pouvez spécifier lehost
,port
,username
,password
comme celui - ci et la base de données d'authentification par défaut estadmin
.