In MongoDB können Sie Daten mit mongoexport exportieren Dienstprogramm.
Sie können den mongoexport verwenden Dienstprogramm zum Exportieren von Daten aus Ihrer MongoDB-Datenbank in eine JSON- oder CSV-Datei.
Das Dienstprogramm befindet sich in MongoDB bin Verzeichnis (zB /mongodb/bin ). Geben Sie beim Ausführen des Dienstprogramms den Namen der Datenbank, der Sammlung und der Datei an, in die sie exportiert werden soll.
Öffnen Sie zum Exportieren von Daten zunächst ein neues Terminal-/Eingabeaufforderungsfenster und geben Sie dann den entsprechenden Befehl ein.
Exportieren Sie eine Sammlung in eine JSON-Datei
Hier verwenden wir mongoexport um die Künstler zu exportieren Sammlung in eine JSON-Datei:
mongoexport --db music --collection artists --out /data/dump/music/artists.json
Ergebnismeldung:
2016-07-12T09:57:37.613+0700 connected to: localhost 2016-07-12T09:57:37.614+0700 exported 13 records
Ergebnisdatei:
{"_id":{"$oid":"5780fbf948ef8c6b3ffb0149"},"artistname":"The Tea Party"} {"_id":{"$oid":"5781c9ac48ef8c6b3ffb014a"},"artistname":"Jorn Lande"} {"_id":1.0,"artistname":"AC/DC"} {"_id":{"$oid":"5781d7f248ef8c6b3ffb014d"},"artistname":"The Kooks"} {"_id":{"$oid":"5781d7f248ef8c6b3ffb014e"},"artistname":"Bastille"} {"_id":{"$oid":"5781d7f248ef8c6b3ffb014f"},"artistname":"Gang of Four"} {"_id":{"$oid":"5781f85d48ef8c6b3ffb0150"},"artistname":"Deep Purple","albums":[{"album":"Machine Head","year":1972.0,"genre":"Rock"},{"album":"Stormbringer","year":1974.0,"genre":"Rock"}]} {"_id":{"$oid":"578214f048ef8c6b3ffb0159"},"artistname":"Miles Davis","albums":[{"album":"Kind of Blue","year":1959.0,"genre":"Jazz"},{"album":"Bitches Brew","year":1970.0,"genre":"Jazz"}]} {"_id":{"$oid":"578217c248ef8c6b3ffb015a"},"artistname":"Robben Ford","albums":[{"album":"Bringing it Back Home","year":2013.0,"genre":"Blues"},{"album":"Talk to Your Daughter","year":1988.0,"genre":"Blues"}]} {"_id":{"$oid":"578217c248ef8c6b3ffb015b"},"artistname":"Snoop Dogg","albums":[{"album":"Tha Doggfather","year":1996.0,"genre":"Rap"},{"album":"Reincarnated","year":2013.0,"genre":"Reggae"}]} {"_id":2.0,"artistname":"Prince","address":{"street":"Audubon Road","city":"Chanhassen","state":"Minnesota","country":"United States"}} {"_id":3.0,"artistname":"Moby","albums":[{"album":"Play","year":1999.0,"genre":"Electronica"},{"album":"Long Ambients 1: Calm. Sleep.","year":2016.0,"genre":"Ambient"}]} {"_id":4.0,"artistname":"Rush"}
Wenn Sie feststellen, dass Sie mongoexport nicht ausführen können , vergewissern Sie sich, dass Sie entweder mongo beendet haben oder öffnen Sie ein neues Terminal-/Eingabeaufforderungsfenster, bevor Sie mongoexport ausführen , da es sich um ein separates Dienstprogramm handelt.
Der obige Befehl geht davon aus, dass sich das MongoDB-bin-Verzeichnis in Ihrem PATH befindet. Ist dies nicht der Fall, müssen Sie den vollständigen Pfad zum
mongoexport
verwenden Datei. Beispiel:/mongodb/bin/mongoexport
oder wo auch immer Ihre MongoDB-Bereitstellung installiert ist.
Wenn Sie keinen Dateipfad für die exportierte Datei angeben, wird sie dort erstellt, wo Sie sich befinden, wenn Sie den Befehl ausführen. Geben Sie entweder den vollständigen Pfad an oder navigieren Sie zu der Stelle, an der die Datendatei geschrieben werden soll, bevor Sie den Befehl ausführen.
Sammlung in eine CSV-Datei exportieren
Um in eine CSV-Datei zu exportieren, fügen Sie --type=csv
hinzu zum Befehl.
Sie müssen auch die Felder in den zu exportierenden MongoDB-Dokumenten angeben.
Hier verwenden wir mongoexport um die Künstler zu exportieren Sammlung in eine CSV-Datei. Wir exportieren die _id und Künstlername Felder. Wir haben dem Dateinamen auch ein .csv gegeben Erweiterung.
mongoexport --db music --collection artists --type=csv --fields _id,artistname --out /data/dump/music/artists.csv
Ergebnismeldung:
2016-07-12T10:16:33.111+0700 connected to: localhost 2016-07-12T10:16:33.114+0700 exported 13 records
Resultierende CSV-Datei:
_id,artistname ObjectId(5780fbf948ef8c6b3ffb0149),The Tea Party ObjectId(5781c9ac48ef8c6b3ffb014a),Jorn Lande 1,AC/DC ObjectId(5781d7f248ef8c6b3ffb014d),The Kooks ObjectId(5781d7f248ef8c6b3ffb014e),Bastille ObjectId(5781d7f248ef8c6b3ffb014f),Gang of Four ObjectId(5781f85d48ef8c6b3ffb0150),Deep Purple ObjectId(578214f048ef8c6b3ffb0159),Miles Davis ObjectId(578217c248ef8c6b3ffb015a),Robben Ford ObjectId(578217c248ef8c6b3ffb015b),Snoop Dogg 2,Prince 3,Moby 4,Rush
Exportieren Sie die Ergebnisse einer Abfrage
Sie können die --query
verwenden Option zum Angeben einer zu exportierenden Abfrage. Die Abfrage muss in einfache Anführungszeichen gesetzt werden.
Hier exportieren wir Details zu Miles Davis in eine JSON-Datei:
mongoexport --db music --collection artists --query '{"artistname": "Miles Davis"}' --out /data/dump/music/miles_davis.json
Ergebnismeldung:
2016-07-12T10:32:19.794+0700 connected to: localhost 2016-07-12T10:32:19.795+0700 exported 1 record
Resultierende JSON-Datei:
{"_id":{"$oid":"578214f048ef8c6b3ffb0159"},"artistname":"Miles Davis","albums":[{"album":"Kind of Blue","year":1959.0,"genre":"Jazz"},{"album":"Bitches Brew","year":1970.0,"genre":"Jazz"}]}
Andere Optionen
Der mongoexport Dienstprogramm bietet eine Reihe von Optionen. Hier sind einige potenziell nützliche.
Das --limit
Möglichkeit
Begrenzt die Anzahl der Dokumente im Export.
mongoexport --db music --collection artists --limit 3 --out /data/dump/music/3_artists.json
Ergebnisdatei:
{"_id":{"$oid":"5780fbf948ef8c6b3ffb0149"},"artistname":"The Tea Party"} {"_id":{"$oid":"5781c9ac48ef8c6b3ffb014a"},"artistname":"Jorn Lande"} {"_id":1.0,"artistname":"AC/DC"}
Der --sort
Möglichkeit
Gibt an, wie die Ergebnisse sortiert werden.
Hier sortieren wir die Datei nach der
_id
Feld in aufsteigender Reihenfolge (also 1
). Um es absteigend zu machen, verwenden Sie ein -1
.
mongoexport --db music --collection artists --limit 3 --sort '{_id: 1}' --out /data/dump/music/3_artists_sorted.json
Ergebnisdatei:
{"_id":1.0,"artistname":"AC/DC"} {"_id":2.0,"artistname":"Prince","address":{"street":"Audubon Road","city":"Chanhassen","state":"Minnesota","country":"United States"}} {"_id":3.0,"artistname":"Moby","albums":[{"album":"Play","year":1999.0,"genre":"Electronica"},{"album":"Long Ambients 1: Calm. Sleep.","year":2016.0,"genre":"Ambient"}]}
Der --skip
Möglichkeit
Ermöglicht es Ihnen, mongoexport anzuweisen um eine Reihe von Dokumenten zu überspringen, bevor der Exportvorgang gestartet wird.
mongoexport --db music --collection artists --limit 3 --sort '{_id: 1}' --skip 2 --out /data/dump/music/3_artists_sorted_skipped.json
Ergebnisdatei:
{"_id":3.0,"artistname":"Moby","albums":[{"album":"Play","year":1999.0,"genre":"Electronica"},{"album":"Long Ambients 1: Calm. Sleep.","year":2016.0,"genre":"Ambient"}]} {"_id":4.0,"artistname":"Rush"} {"_id":{"$oid":"5780fbf948ef8c6b3ffb0149"},"artistname":"The Tea Party"}
Der --pretty
Möglichkeit
Gibt Dokumente in einem besser lesbaren JSON-Format aus.
mongoexport --db music --collection artists --query '{"artistname": "Miles Davis"}' --pretty --out /data/dump/music/miles_davis_pretty.json
Ergebnisdatei:
{ "_id": { "$oid": "578214f048ef8c6b3ffb0159" }, "artistname": "Miles Davis", "albums": [ { "album": "Kind of Blue", "year": 1959.0, "genre": "Jazz" }, { "album": "Bitches Brew", "year": 1970.0, "genre": "Jazz" } ] }