The mongoexport utility is a command line tool that takes a collection and exports to either JSON or CSV. You can specify a filter for the query, or a list of fields to output.
 | Neither JSON nor TSV/CSV can represent all data types. Please be careful not to lose or change data (types) when using this. For full data fidelity, or backups, please use mongodump. |
If you want to output CSV, you have to specify the fields in the order you want them output.
Command Line
options:
--help produce help message
-v [ --verbose ] be more verbose (include multiple times for more
verbosity e.g. -vvvvv)
-h [ --host ] arg mongo host to connect to ("left,right" for pairs)
-d [ --db ] arg database to use
-c [ --collection ] arg where 'arg' is the collection to use
-u [ --username ] arg username
-p [ --password ] arg password
--dbpath arg directly access mongod data files in the given path,
instead of connecting to a mongod instance - needs to
lock the data directory, so cannot be used if a
mongod is currently accessing the same path
--directoryperdb if dbpath specified, each db is in a separate
directory
-q [ --query ] arg query filter, as a JSON string
-f [ --fields ] arg comma seperated list of field names e.g. -f name,age
--csv export to csv instead of json, requires -f
-o [ --out ] arg output file; if not specified, stdout is used
Dates
To pass a date in a query on the command line, use the syntax:
Date(<millis_since_epoch>)
You can get the numeric value for a date in the mongo shell:
$ mongo --nodb
> Date("2011-01-12T12:00:00Z").valueOf()
1294833600000
and then exit the shell and use that value in your mongoexport -q parameter:
mongoexport -q "{when:new Date(1294833600000)}" ...
PLEASE POST QUESTIONS IN THE USER GROUPS FORUM. Post non-question comments and helpful hints here.
blog comments powered by Disqus