Export MongoDB with Command-line on MacOS
install mongodb-database-tools
brew install mongodb/brew/mongodb-database-tools
Then I could use mongoimport
and mongoexport
$ mongoexport --help
Usage:
mongoexport <options> <connection-string>
Export data from MongoDB in CSV or JSON format.
Connection strings must begin with mongodb:// or mongodb+srv://.
See http://docs.mongodb.com/database-tools/mongoexport/ for more information.
general options:
--help print usage
--version print the tool version and exit
--config= path to a configuration file
verbosity options:
-v, --verbose=<level> more detailed log output (include multiple times for more verbosity, e.g. -vvvvv, or specify a numeric value,
e.g. --verbose=N)
--quiet hide all log output
connection options:
-h, --host=<hostname> mongodb host to connect to (setname/host1,host2 for replica sets)
--port=<port> server port (can also use --host hostname:port)
ssl options:
--ssl connect to a mongod or mongos that has ssl enabled
--sslCAFile=<filename> the .pem file containing the root certificate chain from the certificate authority
--sslPEMKeyFile=<filename> the .pem file containing the certificate and key
--sslPEMKeyPassword=<password> the password to decrypt the sslPEMKeyFile, if necessary
--sslCRLFile=<filename> the .pem file containing the certificate revocation list
--sslFIPSMode use FIPS mode of the installed openssl library
--tlsInsecure bypass the validation for server's certificate chain and host name
authentication options:
-u, --username=<username> username for authentication
-p, --password=<password> password for authentication
--authenticationDatabase=<database-name> database that holds the user's credentials
--authenticationMechanism=<mechanism> authentication mechanism to use
--awsSessionToken=<aws-session-token> session token to authenticate via AWS IAM
kerberos options:
--gssapiServiceName=<service-name> service name to use when authenticating using GSSAPI/Kerberos (default: mongodb)
--gssapiHostName=<host-name> hostname to use when authenticating using GSSAPI/Kerberos (default: <remote server's address>)
namespace options:
-d, --db=<database-name> database to use
-c, --collection=<collection-name> collection to use
uri options:
--uri=mongodb-uri mongodb uri connection string
output options:
-f, --fields=<field>[,<field>]* comma separated list of field names (required for exporting CSV) e.g. -f "name,age"
--fieldFile=<filename> file with field names - 1 per line
--type=<type> the output format, either json or csv
-o, --out=<filename> output file; if not specified, stdout is used
--jsonArray output to a JSON array rather than one object per line
--pretty output JSON formatted to be human-readable
--noHeaderLine export CSV data without a list of field names at the first line
--jsonFormat=<type> the extended JSON format to output, either canonical or relaxed (defaults to 'relaxed') (default: relaxed)
querying options:
-q, --query=<json> query filter, as a JSON string, e.g., '{x:{$gt:1}}'
--queryFile=<filename> path to a file containing a query filter (JSON)
--readPreference=<string>|<json> specify either a preference mode (e.g. 'nearest') or a preference json object (e.g. '{mode: "nearest",
tagSets: [{a: "b"}], maxStalenessSeconds: 123}')
--forceTableScan force a table scan (do not use $snapshot or hint _id). Deprecated since this is default behavior on WiredTiger
--skip=<count> number of documents to skip
--limit=<count> limit the number of documents to export
--sort=<json> sort order, as a JSON string, e.g. '{x:1}'
--assertExists if specified, export fails if the collection does not exist
A simple mongoexport
example would be to export the restaurants collection from the newdb
database which we have previously imported. It can be done like this:
sudo mongoexport --db newdb -c restaurants --out newdbexport.json
and this is mongoexport with connection string
mongoexport --uri "mongodb://username:[email protected]:27017,test-shard-00-01-1qpma.mongodb.net:27017,test-shard-00-02-1qpma.mongodb.net:27017/collection?replicaSet=test-shard-0&ssl=true&authSource=admin" --collection collectionName --out collectionName-dump.json
mongoexport documentation