web-dev-qa-db-fra.com

Vider la collection Mongo au format JSON

Est-il possible de vider la collection de mongo au format JSON? Soit sur le Shell ou en utilisant Java le pilote. Je recherche celui qui offre les meilleures performances.

103
Parvin Gasimzade

Mongo inclut un utilitaire mongoexport (voir docs) 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: écrit 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 formatées JSON ( docs )

152
vrtx

Utilisez mongoexport/mongoimport pour dump/restaurer une collection:

Exporter un 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

WARNING mongoimport et mongoexport ne conservent pas de manière fiable tous les types de données BSON riches, car JSON peut uniquement représenter un sous-ensemble des types pris en charge par BSON. En conséquence, les données exportées ou importées avec ces outils risquent de perdre un peu de 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 de 32 (ou 64 bits), il n'est donc pas nécessaire de les analyser avec du texte. Cela utilise plus d'espace que JSON pour les petits entiers, mais son analyse est beaucoup plus rapide.

Outre la compacité, BSON ajoute des types de données supplémentaires non disponibles dans JSON, notamment les types de données BinData et Date.

103
Priyanshu Chauhan

Voici ma commande pour référence:

mongoexport --db AppDB --collection files --pretty --out output.json

Sous Windows 7 (MongoDB 3.4), il faut déplacer le cmd à l’endroit où mongod.exe et mongo.exe Le fichier réside => C:\MongoDB\Server\3.4\bin sinon, ça ne marchera pas si on dit que ça ne reconnaît pas la commande mongoexport.

5
nightfury

De la documentation Mongo:

L'utilitaire mongoexport prend une collection et exporte au format JSON ou CSV. Vous pouvez spécifier un filtre pour la requête ou une liste de champs à afficher

Lisez plus ici: http://www.mongodb.org/display/DOCS/mongoexport

3
Ninja

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 dans les extensions json et bson dans /tmp/{DB_NAME} répertoire

0
Moe Far