V MongoDB můžete exportovat data pomocí mongoexport utility.
Můžete použít mongoexport nástroj pro export dat z vaší databáze MongoDB do souboru JSON nebo CSV.
Nástroj se nachází v MongoDB bin adresář (např. /mongodb/bin ). Při spuštění nástroje zadejte název databáze, kolekce a souboru, do kterého chcete exportovat.
Chcete-li exportovat data, nejprve otevřete nové okno terminálu/příkazového řádku a poté zadejte příslušný příkaz.
Export kolekce do souboru JSON
Zde používáme mongoexport exportovat umělce kolekce do souboru JSON:
mongoexport --db music --collection artists --out /data/dump/music/artists.json
Výsledná zpráva:
2016-07-12T09:57:37.613+0700 connected to: localhost 2016-07-12T09:57:37.614+0700 exported 13 records
Výsledný soubor:
{"_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"}
Pokud zjistíte, že nemůžete spustit mongoexport , ujistěte se, že jste buď opustili mongo nebo před spuštěním mongoexport otevřeli nové okno terminálu/příkazového řádku , protože se jedná o samostatný nástroj.
Výše uvedený příkaz předpokládá, že adresář MongoDB bin je ve vaší PATH. Pokud tomu tak není, budete muset použít úplnou cestu k
mongoexport
soubor. Například /mongodb/bin/mongoexport
nebo kdekoli, kde je nainstalováno vaše nasazení MongoDB.
Pokud neposkytnete cestu k exportovanému souboru, bude při spuštění příkazu vytvořen kdekoli, kde se nacházíte. Před spuštěním příkazu buď zadejte úplnou cestu, nebo přejděte na místo, kam chcete datový soubor zapsat.
Export kolekce do souboru CSV
Chcete-li exportovat do souboru CSV, přidejte --type=csv
k příkazu.
Musíte také zadat pole v dokumentech MongoDB, která chcete exportovat.
Zde používáme mongoexport exportovat umělce kolekce do souboru CSV. Exportujeme _id a jméno umělce pole. Také jsme dali názvu souboru .csv rozšíření.
mongoexport --db music --collection artists --type=csv --fields _id,artistname --out /data/dump/music/artists.csv
Výsledná zpráva:
2016-07-12T10:16:33.111+0700 connected to: localhost 2016-07-12T10:16:33.114+0700 exported 13 records
Výsledný soubor CSV:
_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
Exportujte výsledky dotazu
Můžete použít --query
možnost zadat dotaz k exportu. Dotaz musí být uzavřen v jednoduchých uvozovkách.
Zde exportujeme podrobnosti o Milesovi Davisovi do souboru JSON:
mongoexport --db music --collection artists --query '{"artistname": "Miles Davis"}' --out /data/dump/music/miles_davis.json
Výsledná zpráva:
2016-07-12T10:32:19.794+0700 connected to: localhost 2016-07-12T10:32:19.795+0700 exported 1 record
Výsledný soubor JSON:
{"_id":{"$oid":"578214f048ef8c6b3ffb0159"},"artistname":"Miles Davis","albums":[{"album":"Kind of Blue","year":1959.0,"genre":"Jazz"},{"album":"Bitches Brew","year":1970.0,"genre":"Jazz"}]}
Další možnosti
mongoexport nástroj poskytuje řadu možností. Zde jsou některé potenciálně užitečné.
--limit
Možnost
Omezuje počet dokumentů v exportu.
mongoexport --db music --collection artists --limit 3 --out /data/dump/music/3_artists.json
Výsledný soubor:
{"_id":{"$oid":"5780fbf948ef8c6b3ffb0149"},"artistname":"The Tea Party"} {"_id":{"$oid":"5781c9ac48ef8c6b3ffb014a"},"artistname":"Jorn Lande"} {"_id":1.0,"artistname":"AC/DC"}
Položka --sort
Možnost
Určuje, jak jsou výsledky seřazeny.
Zde seřadíme soubor podle
_id
pole ve vzestupném pořadí (tj. 1
). Chcete-li jej nastavit sestupně, použijte -1
.
mongoexport --db music --collection artists --limit 3 --sort '{_id: 1}' --out /data/dump/music/3_artists_sorted.json
Výsledný soubor:
{"_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"}]}
--skip
Možnost
Umožňuje zadat pokyn mongoexport před zahájením operace exportu přeskočit řadu dokumentů.
mongoexport --db music --collection artists --limit 3 --sort '{_id: 1}' --skip 2 --out /data/dump/music/3_artists_sorted_skipped.json
Výsledný soubor:
{"_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"}
--pretty
Možnost
Vydává dokumenty v čitelnějším formátu JSON.
mongoexport --db music --collection artists --query '{"artistname": "Miles Davis"}' --pretty --out /data/dump/music/miles_davis_pretty.json
Výsledný soubor:
{ "_id": { "$oid": "578214f048ef8c6b3ffb0159" }, "artistname": "Miles Davis", "albums": [ { "album": "Kind of Blue", "year": 1959.0, "genre": "Jazz" }, { "album": "Bitches Brew", "year": 1970.0, "genre": "Jazz" } ] }