C'è un modo per scaricare la raccolta di mongo in formato json? O sulla shell o utilizzando il driver Java. Sto cercando quello con le migliori prestazioni.
C'è un modo per scaricare la raccolta di mongo in formato json? O sulla shell o utilizzando il driver Java. Sto cercando quello con le migliori prestazioni.
Risposte:
Mongo include un'utilità mongoexport (vedere la documentazione) che può eseguire il dump di una raccolta. Questa utility utilizza il libmongoclient nativo ed è probabilmente il metodo più veloce.
mongoexport -d <database> -c <collection_name>
Anche utile:
-o
: scrive l'output su file, altrimenti viene utilizzato lo standard output ( docs )
--jsonArray
: genera un documento json valido, invece di un oggetto json per riga ( documenti )
--pretty
: restituisce json formattato ( documenti )
--pretty
flag: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
sia scomparso dalla versione 2.6.10.
Usa mongoexport / mongoimport per eseguire il dump / ripristinare una raccolta:
Esporta file JSON :
mongoexport --db <database-name> --collection <collection-name> --out output.json
Importa file JSON :
mongoimport --db <database-name> --collection <collection-name> --file input.json
ATTENZIONE
mongoimport
emongoexport
non conservare in modo affidabile tutti i tipi di dati BSON ricchi perché JSON può rappresentare solo un sottoinsieme dei tipi supportati da BSON. Di conseguenza, i dati esportati o importati con questi strumenti potrebbero perdere una certa misura di fedeltà.
Inoltre, http://bsonspec.org/
BSON è progettato per essere veloce da codificare e decodificare. Ad esempio, gli interi vengono memorizzati come interi a 32 (o 64) bit, quindi non è necessario analizzarli da e verso il testo. Questo utilizza più spazio di JSON per piccoli numeri interi, ma è molto più veloce da analizzare.
Oltre alla compattezza, BSON aggiunge altri tipi di dati non disponibili in JSON, in particolare i tipi di dati BinData e Date.
mongoexport
/ mongoimport
andata e ritorno?
Ecco il mio comando per riferimento:
mongoexport --db AppDB --collection files --pretty --out output.json
In Windows 7 (MongoDB 3.4), si deve spostare il cmd per il luogo in cui mongod.exe
e mongo.exe
risiede il file =>
C:\MongoDB\Server\3.4\bin
altrimenti non funzionerà dicendo che non fa conoscimento mongoexport
comando.
Dalla documentazione di Mongo:
L'utilità mongoexport prende una raccolta ed esporta in JSON o CSV. È possibile specificare un filtro per la query o un elenco di campi da generare
Maggiori informazioni qui: http://www.mongodb.org/display/DOCS/mongoexport
Se vuoi scaricare tutte le raccolte, esegui questo comando:
mongodump -d {DB_NAME} -o /tmp
Genererà tutti i dati delle raccolte json
e le bson
estensioni nella /tmp/{DB_NAME}
directory
mongodump
restituisce i dati in BSON
formato. Altre risposte indicate correttamente mongoexport
come lo strumento giusto.
mongoexport -d <database> -c <collection_name> --out <xxx.json> --pretty --host <host> --port <port> --username <user> --authenticationDatabase admin
È possibile specificare ilhost
,port
,username
,password
in questo modo e il database di autenticazione predefinito èadmin
.