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 )
--prettyFlag: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
mongoimportundmongoexportbewahren 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/ mongoimportHin- 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.exeund mongo.exeDatei befindet =>
C:\MongoDB\Server\3.4\binsonst wird es nicht es nicht recongnize arbeiten sagen mongoexportBefehl.
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 jsonund bsonErweiterungen in das /tmp/{DB_NAME}Verzeichnis generiert
mongodumpgibt Daten im BSONFormat aus. Andere Antworten werden korrekt mongoexportals das richtige Werkzeug bezeichnet.
mongoexport -d <database> -c <collection_name> --out <xxx.json> --pretty --host <host> --port <port> --username <user> --authenticationDatabase adminSie können die angebenhost,port,username,passwordwie diese und die Standard - Authentifizierungsdatenbank istadmin.