Comment exporter les résultats d'une commande MongoDB dans un fichier à plat
Par exemple, si je veux obtenir db.collectionname.find()
dans un fichier à plat.
J'ai essayé db.collectionname.find() >> "test.txt"
ne semble pas fonctionner.
vous pouvez essayer ce qui suit à partir de la ligne de commande
mongo 127.0.0.1/db --eval "var c = db.collection.find(); while(c.hasNext()) {printjson(c.next())}" >> test.txt
en supposant que vous avez une base de données appelée 'db' s'exécutant sur localhost et une collection appelée 'collection', cela exportera tous les enregistrements dans un fichier appelé test.txt
Si vous souhaitez exécuter un script plus long, vous pouvez également créer un fichier script.js .__ et simplement utiliser
mongo 127.0.0.1/db script.js >> test.txt
J'espère que ça aide
Je ne connais aucun moyen de le faire directement depuis le shell mongo, mais vous pouvez obtenir que mongoexport exécute des requêtes et envoie les résultats dans un fichier avec les options -q et -o:
mongoexport -h mongo.dev.priv -d models -c profiles -q '{ $query : { _id : "MRD461000" } }' -o MRD_Series1.json
La requête ci-dessus interroge la collection de profils dans la base de données de modèles en récupérant le document JSON pour _id = "MRD641000". Travaille pour moi.
Utilisez ceci
mongo db_name --username user --password password < query1.js >> result.txt
Après avoir manqué la base de données qui doit être la base de données dans la réponse de Peshkira, voici une syntaxe générale pour une ligne dans Shell (en supposant qu'aucun mot de passe ne soit utilisé):
mongo <Host>:<db name> --eval "var x = <db name>.<collection name>.<query>; while(x.hasNext()) { printjson( x.next() ) }" >> out.txt
Je l'ai testé à la fois sur mon Mac et sur le cloud Google Ubuntu 15 avec Mongo 3+.
try this - retournez un fichier JSON avec les données de la requête, vous pouvez modifier .json pour .txt et autres.
mongoexport --db produits - clics de collecte - requête '{"createdInt": {$ gte: 20190101}, "clientId": "123", "pays": "ES"} - tous les clics-2019.json
mongoexport --Host 127.0.0.1 --port 27017 --username youruser -p yourpass \
-d yourDatabaseName -c collectionName --type csv \
--fields field1,field2 -q '{"field1" : 1495730914381}' \
--out report.csv