MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB - Exporter des données

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 Options

Vous 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.json

Fichier 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 Options

Gé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.json

Fichier 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" } ]}