Gibt es eine Möglichkeit, die Mongo-Sammlung in das JSON-Format zu verschieben? Entweder auf der Shell oder mit dem Java-Treiber. Ich suche den mit der besten Leistung.
Gibt es eine Möglichkeit, die Mongo-Sammlung in das JSON-Format zu verschieben? Entweder auf der Shell oder mit dem Java-Treiber. Ich suche den mit der besten Leistung.
Antworten:
Mongo enthält ein Mongoexport-Dienstprogramm (siehe Dokumente), mit dem eine Sammlung gesichert werden kann. Dieses Dienstprogramm verwendet den nativen libmongoclient und ist wahrscheinlich die schnellste Methode.
mongoexport -d <database> -c <collection_name>
Auch hilfreich:
-o
: schreibe die Ausgabe in eine Datei, andernfalls wird die Standardausgabe verwendet ( docs )
--jsonArray
: generiert ein gültiges JSON-Dokument anstelle eines JSON-Objekts pro Zeile ( Dokumente )
--pretty
: gibt formatiertes json aus ( docs )
--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
, als wäre es ab Version 2.6.10 weg.
Verwenden Sie mongoexport / mongoimport, um eine Sammlung zu sichern / wiederherzustellen:
JSON-Datei exportieren :
mongoexport --db <database-name> --collection <collection-name> --out output.json
JSON-Datei importieren :
mongoimport --db <database-name> --collection <collection-name> --file input.json
WARNUNG
mongoimport
undmongoexport
bewahren Sie nicht alle Rich-BSON-Datentypen zuverlässig auf, da JSON nur eine Teilmenge der von BSON unterstützten Typen darstellen kann. Infolgedessen können mit diesen Tools exportierte oder importierte Daten ein gewisses Maß an Wiedergabetreue verlieren.
Auch http://bsonspec.org/
BSON ist so konzipiert, dass es schnell codiert und decodiert werden kann. Ganzzahlen werden beispielsweise als 32- (oder 64-) Bit-Ganzzahlen gespeichert, sodass sie nicht in und aus Text analysiert werden müssen. Dies benötigt mehr Speicherplatz als JSON für kleine Ganzzahlen, ist jedoch viel schneller zu analysieren.
Zusätzlich zur Kompaktheit fügt BSON zusätzliche Datentypen hinzu, die in JSON nicht verfügbar sind, insbesondere die Datentypen BinData und Date.
mongoexport
/ mongoimport
Hin- und Rückfahrt?
Hier ist mein Befehl als Referenz:
mongoexport --db AppDB --collection files --pretty --out output.json
Unter Windows 7 (MongoDB 3.4) hat man die cmd an den Ort zu bewegen , wo mongod.exe
und mongo.exe
Datei befindet =>
C:\MongoDB\Server\3.4\bin
sonst wird es nicht es nicht recongnize arbeiten sagen mongoexport
Befehl.
Aus der Mongo-Dokumentation:
Das Dienstprogramm mongoexport nimmt eine Sammlung und exportiert sie entweder nach JSON oder nach CSV. Sie können einen Filter für die Abfrage oder eine Liste der auszugebenden Felder angeben
Lesen Sie hier mehr: http://www.mongodb.org/display/DOCS/mongoexport
Wenn Sie alle Sammlungen sichern möchten, führen Sie den folgenden Befehl aus:
mongodump -d {DB_NAME} -o /tmp
Es werden alle Sammlungsdaten json
und bson
Erweiterungen in das /tmp/{DB_NAME}
Verzeichnis generiert
mongodump
gibt Daten im BSON
Format aus. Andere Antworten werden korrekt mongoexport
als das richtige Werkzeug bezeichnet.
mongoexport -d <database> -c <collection_name> --out <xxx.json> --pretty --host <host> --port <port> --username <user> --authenticationDatabase admin
Sie können die angebenhost
,port
,username
,password
wie diese und die Standard - Authentifizierungsdatenbank istadmin
.