En MongoDB, puede exportar datos utilizando mongoexport utilidad.
Puede usar mongoexport utilidad para exportar datos desde su base de datos MongoDB, a un archivo JSON o CSV.
La utilidad se encuentra en MongoDB bin directorio (por ejemplo, /mongodb/bin ). Cuando ejecute la utilidad, proporcione el nombre de la base de datos, la colección y el archivo al que desea que se exporte.
Para exportar datos, primero abra una nueva ventana de Terminal/Símbolo del sistema y luego escriba el comando correspondiente.
Exportar una colección a un archivo JSON
Aquí, usamos mongoexport para exportar los artistas colección a un archivo JSON:
mongoexport --db music --collection artists --out /data/dump/music/artists.json
Mensaje resultante:
2016-07-12T09:57:37.613+0700 connected to: localhost 2016-07-12T09:57:37.614+0700 exported 13 records
Archivo resultante:
{"_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"}
Si encuentra que no puede ejecutar mongoexport , asegúrese de haber salido de mongo utilidad, o abrió una nueva ventana de Terminal/Símbolo del sistema antes de ejecutar mongoexport , ya que es una utilidad separada.
El comando anterior asume que el directorio bin de MongoDB está en su RUTA. Si no es así, deberá usar la ruta completa a
mongoexport
expediente. Por ejemplo, /mongodb/bin/mongoexport
o donde sea que esté instalada su implementación de MongoDB.
Si no proporciona una ruta de archivo para el archivo exportado, se creará donde se encuentre cuando ejecute el comando. Proporcione la ruta completa o navegue hasta donde desea que se escriba el archivo de datos antes de ejecutar el comando.
Exportar una colección a un archivo CSV
Para exportar a un archivo CSV, agregue --type=csv
al comando.
También debe especificar los campos en los documentos MongoDB para exportar.
Aquí, usamos mongoexport para exportar los artistas colección a un archivo CSV. Exportamos el _id y nombre del artista los campos. También le hemos dado al archivo un nombre .csv extensión.
mongoexport --db music --collection artists --type=csv --fields _id,artistname --out /data/dump/music/artists.csv
Mensaje resultante:
2016-07-12T10:16:33.111+0700 connected to: localhost 2016-07-12T10:16:33.114+0700 exported 13 records
Archivo CSV resultante:
_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
Exportar los resultados de una Consulta
Puede utilizar --query
opción para especificar una consulta para exportar. La consulta debe estar entre comillas simples.
Aquí, exportamos detalles sobre Miles Davis a un archivo JSON:
mongoexport --db music --collection artists --query '{"artistname": "Miles Davis"}' --out /data/dump/music/miles_davis.json
Mensaje resultante:
2016-07-12T10:32:19.794+0700 connected to: localhost 2016-07-12T10:32:19.795+0700 exported 1 record
Archivo JSON resultante:
{"_id":{"$oid":"578214f048ef8c6b3ffb0159"},"artistname":"Miles Davis","albums":[{"album":"Kind of Blue","year":1959.0,"genre":"Jazz"},{"album":"Bitches Brew","year":1970.0,"genre":"Jazz"}]}
Otras opciones
El mongoexport utilidad proporciona una serie de opciones. Aquí hay algunos potencialmente útiles.
El --limit
Opción
Limita el número de documentos en la exportación.
mongoexport --db music --collection artists --limit 3 --out /data/dump/music/3_artists.json
Archivo resultante:
{"_id":{"$oid":"5780fbf948ef8c6b3ffb0149"},"artistname":"The Tea Party"} {"_id":{"$oid":"5781c9ac48ef8c6b3ffb014a"},"artistname":"Jorn Lande"} {"_id":1.0,"artistname":"AC/DC"}
El --sort
Opción
Especifica cómo se ordenan los resultados.
Aquí, ordenamos el archivo por
_id
campo en orden ascendente (es decir, 1
). Para hacerlo descender, use un -1
.
mongoexport --db music --collection artists --limit 3 --sort '{_id: 1}' --out /data/dump/music/3_artists_sorted.json
Archivo resultante:
{"_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"}]}
El --skip
Opción
Le permite dar instrucciones a mongoexport para omitir una serie de documentos antes de iniciar la operación de exportación.
mongoexport --db music --collection artists --limit 3 --sort '{_id: 1}' --skip 2 --out /data/dump/music/3_artists_sorted_skipped.json
Archivo resultante:
{"_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"}
El --pretty
Opción
Genera documentos en un formato JSON más legible.
mongoexport --db music --collection artists --query '{"artistname": "Miles Davis"}' --pretty --out /data/dump/music/miles_davis_pretty.json
Archivo resultante:
{ "_id": { "$oid": "578214f048ef8c6b3ffb0159" }, "artistname": "Miles Davis", "albums": [ { "album": "Kind of Blue", "year": 1959.0, "genre": "Jazz" }, { "album": "Bitches Brew", "year": 1970.0, "genre": "Jazz" } ] }