mongodb export data specified conditions

A, Mongodb export tool mongoexport

Mongodb in a collection mongoexport tool can be exported into CSV format or JSON format (similar to the tabular format) files. Derived parameters can be specified by the data item, the data may be derived in accordance with the specified conditions.
mongoexport specific usage

$ Mongoexport --help

general options:
--help print usage
--version print the tool version and exit

verbosity options:
-v, --verbose more detailed log output (include multiple times for more verbosity, e.g. -vvvvv)
--quiet hide all log output

connection options:
-h, --host= mongodb host to connect to (setname/host1,host2 for replica sets)
--port= server port (can also use --host hostname:port)

ssl options:
--ssl connect to a mongod or mongos that has ssl enabled
--sslCAFile= the .pem file containing the root certificate chain from the certificate authority
--sslPEMKeyFile= the .pem file containing the certificate and key
--sslPEMKeyPassword= the password to decrypt the sslPEMKeyFile, if necessary
--sslCRLFile= the .pem file containing the certificate revocation list
--sslAllowInvalidCertificates bypass the validation for server certificates
--sslAllowInvalidHostnames bypass the validation for server name
--sslFIPSMode use FIPS mode of the installed openssl library

authentication options:
-u, --username= username for authentication
-p, --password= password for authentication
--authenticationDatabase= database that holds the user's credentials
--authenticationMechanism= authentication mechanism to use

namespace options:
-d, --db= database to use
-c, --collection= collection to use

output options:
-f, --fields= comma separated list of field names (required for exporting CSV) e.g. -f "name,age"
--fieldFile= file with field names - 1 per line
--type= the output format, either json or csv (defaults to 'json')
-o, --out= 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

querying options:
-q, --query= query filter, as a JSON string, e.g., '{x:{$gt:1}}'
-k, --slaveOk allow secondary reads if available (default true)
--forceTableScan force a table scan (do not use $snapshot)
--skip= number of documents to skip
--limit= limit the number of documents to export
--sort= sort order, as a JSON string, e.g. '{x:1}'

 

For example:

Export test_db database, test_collection collection, uploadDate (date type) data 2019-12-02 derives field has uploadDate, length, filename, exported to csv format file format

./mongoexport -h 172.128.111.56 --port 27017 -u admin -p admin -d test_db -c test_collection --type=csv -f uploadDate,length,filename -q '{"uploadDate":{"$lte":new Date("2019-12-02T16:00:00.000Z"),"$gt":new Date("2019-12-01T16:00:00.000Z")}}' -o /home/test/mongodb/test_20191202.csv

 

Sometimes if the data required certification authority, you might suggest the following error message:

Failed: error connecting to db server: server returned error on SASL authentication step: Authentication failed.

Reason is not specified because the user authentication db, can be specified by --authenticationDatabase = database

The above embodiment may be changed

./mongoexport -h 172.128.111.56 --port 27017 -u admin -p admin --authenticationDatabase=admin -d test_db -c test_collection --type=csv -f uploadDate,length,filename -q '{"uploadDate":{"$lte":new Date("2019-12-02T16:00:00.000Z"),"$gt":new Date("2019-12-01T16:00:00.000Z")}}' -o /home/test/mongodb/test_20191202.csv

Guess you like

Origin www.cnblogs.com/ncyhl/p/11985449.html