Dans MongoDB, vous pouvez exporter des données à l'aide de mongoexport utilitaire.
Vous pouvez utiliser le mongoexport utilitaire pour exporter les données de votre base de données MongoDB, vers un fichier JSON ou CSV.
L'utilitaire est situé dans la bin MongoDB répertoire (par exemple, /mongodb/bin ). Lorsque vous exécutez l'utilitaire, indiquez le nom de la base de données, la collection et le fichier vers lequel vous souhaitez l'exporter.
Pour exporter des données, ouvrez d'abord une nouvelle fenêtre Terminal/Invite de commandes, puis tapez la commande applicable.
Exporter une collection vers un fichier JSON
Ici, nous utilisons mongoexport pour exporter les artistes collection dans un fichier JSON :
mongoexport --db music --collection artistes --out /data/dump/music/artists.json
Message résultant :
2016-07-12T09:57:37.613+0700 connecté à :localhost2016-07-12T09:57:37.614+0700 a exporté 13 enregistrements
Fichier résultant :
{"_id":{"$oid":"5780fbf948ef8c6b3ffb0149"},"artistname":"Le thé"}{"_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","année":1972.0,"genre":"Rock"} ,{"album":"Stormbringer","year":1974.0,"genre":"Rock"}]}{"_id":{"$oid":"578214f048ef8c6b3ffb0159"},"artistname":"Miles Davis" ,"albums":[{"album":"Kind of Blue","année":1959.0,"genre":"Jazz"},{"album":"Bitches Brew","année":1970.0,"genre":":"Jazz"}]}{"_id":{"$oid":"578217c248ef8c6b3ffb015a"},"artistname":"Robben Ford","albums":[{"album":"Bringing it Back Home", "year":2013.0,"genre":"Blues"},{"album":"Parle à ta fille","year":1988.0,"genre":"Blues"}]}{"_id":{" $oid":"578217c248ef8 c6b3ffb015b"},"artistname":"Snoop Dogg","albums":[{"album":"Tha Doggfather","year":1996.0,"genre":"Rap"},{"album":"Reincarnated ","année":2013.0,"genre":"Reggae"}]}{"_id":2.0,"artistname":"Prince","address":{"street":"Audubon Road","ville" :"Chanhassen","state":"Minnesota","country":"États-Unis"}}{"_id":3.0,"artistname":"Moby","albums":[{"album":"Écouter ","année":1999.0,"genre":"Electronica"},{"album":"Long Ambients 1 :Calme. Sleep.","year":2016.0,"genre":"Ambient"}]}{"_id":4.0,"artistname":"Rush"}
Si vous constatez que vous ne pouvez pas exécuter mongoexport , assurez-vous que vous avez soit quitté le mongo ou ouvert une nouvelle fenêtre Terminal/Invite de commandes avant d'exécuter mongoexport , car il s'agit d'un utilitaire distinct.
La commande ci-dessus suppose que le répertoire bin de MongoDB se trouve dans votre PATH. Si ce n'est pas le cas, vous devrez utiliser le chemin complet vers le
mongoexport
dossier. Par exemple, /mongodb/bin/mongoexport
ou partout où votre déploiement MongoDB est installé.
Si vous ne fournissez pas de chemin d'accès au fichier exporté, il sera créé où que vous soyez lorsque vous exécuterez la commande. Indiquez le chemin d'accès complet ou accédez à l'endroit où vous souhaitez que le fichier de données soit écrit avant d'exécuter la commande.
Exporter une collection vers un fichier CSV
Pour exporter vers un fichier CSV, ajoutez --type=csv
à la commande.
Vous devez également spécifier les champs dans les documents MongoDB à exporter.
Ici, nous utilisons mongoexport pour exporter les artistes collection dans un fichier CSV. Nous exportons le _id et nom de l'artiste des champs. Nous avons également donné au nom du fichier un .csv extension.
mongoexport --db music --collection artists --type=csv --fields _id,artistname --out /data/dump/music/artists.csv
Message résultant :
2016-07-12T10:16:33.111+0700 connecté à :localhost2016-07-12T10:16:33.114+0700 a exporté 13 enregistrements
Fichier CSV résultant :
_id,artistnameObjectId(5780fbf948ef8c6b3ffb0149),The Tea PartyObjectId(5781c9ac48ef8c6b3ffb014a),Jorn Lande1,AC/DCObjectId(5781d7f248ef8c6b3ffb014d),The KooksObjectId(5781d7f248ef8c6b3ffb014e),BastilleObjectId(5781d7f248ef8c6b3ffb014f),Gang of FourObjectId(5781f85d48ef8c6b3ffb0150),Deep PurpleObjectId(578214f048ef8c6b3ffb0159) ,Miles DavisObjectId(578217c248ef8c6b3ffb015a),Robben FordObjectId(578217c248ef8c6b3ffb015b),Snoop Dogg2,Prince3,Moby4,Rush
Exporter les résultats d'une requête
Vous pouvez utiliser le --query
option pour spécifier une requête à exporter. La requête doit être entourée de guillemets simples.
Ici, nous exportons les détails de Miles Davis vers un fichier JSON :
mongoexport --db music --collection artistes --query '{"artistname":"Miles Davis"}' --out /data/dump/music/miles_davis.json
Message résultant :
2016-07-12T10:32:19.794+0700 connecté à :localhost2016-07-12T10:32:19.795+0700 exporté 1 enregistrement
Fichier JSON résultant :
{"_id":{"$oid":"578214f048ef8c6b3ffb0159"},"artistname":"Miles Davis","albums":[{"album":"Kind of Blue","year":1959.0, "genre":"Jazz"},{"album":"Bitches Brew","année":1970.0,"genre":"Jazz"}]}
Autres options
Le mongoexport utilitaire fournit un certain nombre d'options. En voici quelques-unes potentiellement utiles.
La --limit
Options
Limite le nombre de documents à exporter.
mongoexport --db music --collection artistes --limit 3 --out /data/dump/music/3_artists.json
Fichier résultant :
{"_id":{"$oid":"5780fbf948ef8c6b3ffb0149"},"artistname":"Le thé"}{"_id":{"$oid":"5781c9ac48ef8c6b3ffb014a"},"artistname":" Jorn Lande"}{"_id":1.0,"artistname":"AC/DC"}
Le --sort
Options
Spécifie comment les résultats sont triés.
Ici, nous trions le fichier par le
_id
champ dans l'ordre croissant (c'est-à-dire 1
). Pour le rendre descendant, utilisez un -1
.
mongoexport --db music --collection artistes --limit 3 --sort '{_id :1}' --out /data/dump/music/3_artists_sorted.json
Fichier résultant :
{"_id":1.0,"artistname":"AC/DC"}{"_id":2.0,"artistname":"Prince","address":{"street":"Audubon Road"," city":"Chanhassen","state":"Minnesota","country":"États-Unis"}}{"_id":3.0,"artistname":"Moby","albums":[{"album":"Play","year":1999.0,"genre":"Electronica"},{"album":"Long Ambients 1 :Calm. Sleep.","year":2016.0,"genre":"Ambient"}] }Le
--skip
OptionsVous permet d'instruire mongoexport pour sauter un certain nombre de documents avant de commencer l'opération d'exportation.
mongoexport --db music --collection artistes --limit 3 --sort '{_id :1}' --skip 2 --out /data/dump/music/3_artists_sorted_skipped.jsonFichier résultant :
{"_id":3.0,"artistname":"Moby","albums":[{"album":"Play","year":1999.0,"genre":"Electronique"},{"album ":"Long Ambients 1 :Calm. Sleep.","year":2016.0,"genre":"Ambient"}]}{"_id":4.0,"artistname":"Rush"}{"_id":{ "$oid":"5780fbf948ef8c6b3ffb0149"},"artistname":"Le goûter"}Le
--pretty
OptionsGénère les documents dans un format JSON plus lisible.
mongoexport --db music --collection artists --query '{"artistname":"Miles Davis"}' --pretty --out /data/dump/music/miles_davis_pretty.jsonFichier résultant :
{ "_id":{ "$oid":"578214f048ef8c6b3ffb0159" }, "artistname":"Miles Davis", "albums":[ { "album":"Kind of Blue", "year":1959.0, "genre":"Jazz" }, { "album":"Bitches Brew", "année":1970.0, "genre":"Jazz" } ]}