How to get mongo command results in to a flat file

QVSJ picture QVSJ · Oct 10, 2012 · Viewed 51.3k times · Source

How do I export the results of a MongoDB command to a flat file

For example, If I am to get db.collectionname.find() into a flat file.

I tried db.collectionname.find() >> "test.txt" doesnt seem to work.

Answer

peshkira picture peshkira · Oct 10, 2012

you can try the following from the command line

mongo 127.0.0.1/db --eval "var c = db.collection.find(); while(c.hasNext()) {printjson(c.next())}" >> test.txt

assuming you have a database called 'db' running on localhost and a collection called 'collection' this will export all records into a file called test.txt

If you have a longer script that you want to execute you can also create a script.js file and just use

mongo 127.0.0.1/db script.js >> test.txt

I hope this helps