.\" Man page generated from reStructuredText. . .TH "MONGOEXPORT" "1" "Aug 16, 2019" "4.2" "mongodb-manual" .SH NAME mongoexport \- MongoDB Export Utility . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .SS On this page .INDENT 0.0 .IP \(bu 2 \fI\%Synopsis\fP .IP \(bu 2 \fI\%Syntax\fP .IP \(bu 2 \fI\%Required Access\fP .IP \(bu 2 \fI\%Behavior\fP .IP \(bu 2 \fI\%Options\fP .IP \(bu 2 \fI\%Examples\fP .UNINDENT .INDENT 0.0 .INDENT 3.5 .IP "macOS Sierra and Go 1.6 Incompatibility" .sp Users running on macOS Sierra require the 3.2.10 or newer version of mongoexport\&. .UNINDENT .UNINDENT .SH SYNOPSIS .sp \fI\%mongoexport\fP is a command\-line tool that produces a JSON or CSV export of data stored in a MongoDB instance. .sp Run \fI\%mongoexport\fP from the system command line, not the \fBmongo\fP shell. .sp \fBSEE ALSO:\fP .INDENT 0.0 .INDENT 3.5 \fBmongoimport\fP which provides the corresponding "import" capability. .UNINDENT .UNINDENT .SH SYNTAX .sp \fI\%mongoexport\fP must be run directly from the system command line. .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-collection [options] .ft P .fi .UNINDENT .UNINDENT .sp You must specify the \fI\%collection\fP to export. If you do not specify an \fI\%output file\fP, \fI\%mongoexport\fP writes to the standard output (e.g. stdout). .SS Connect to a MongoDB Instance .sp To connect to a local MongoDB instance running on port 27017, you do not have to specify the host or port. .sp For example, to export the specified \fI\%collection\fP to the specified \fI\%output file\fP from a local MongoDB instance running on port 27017: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-collection events \-\-db reporting \-\-out events.json .ft P .fi .UNINDENT .UNINDENT .sp To specify a host and/or port of the MongoDB instance, you can either: .INDENT 0.0 .IP \(bu 2 Specify the hostname and port in the \fI\%\-\-uri connection string\fP: .INDENT 2.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-uri "mongodb://mongodb0.example.com:27017/reporting" \-\-collection events \-\-out events.json [additional options] .ft P .fi .UNINDENT .UNINDENT .sp If using the \fI\%\-\-uri connection string\fP, specify the database as part of the string. You cannot use the command\-line option \fI\%\-\-db\fP in conjunction with the \fI\%\-\-uri connection string\fP\&. .IP \(bu 2 Specify the hostname and port in the \fI\%\-\-host\fP: .INDENT 2.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-host "mongodb0.example.com:27017" \-\-collection events \-\-db reporting \-\-out events.json [additional options] .ft P .fi .UNINDENT .UNINDENT .IP \(bu 2 Specify the hostname and port in the \fI\%\-\-host\fP and \fI\%\-\-port\fP: .INDENT 2.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-host "mongodb0.example.com" \-\-port 27017 \-\-collection events \-\-db reporting \-\-out events.json [additional options] .ft P .fi .UNINDENT .UNINDENT .UNINDENT .sp For more information on the options available, see \fI\%Options\fP\&. .SS Connect to a Replica Set .sp To connect to a replica set to export its data, you can either: .INDENT 0.0 .IP \(bu 2 Specify the replica set name and members in the \fI\%\-\-uri connection string\fP: .INDENT 2.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-uri "mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/reporting?replicaSet=myReplicaSetName" \-\-collection events \-\-out events.json [additional options] .ft P .fi .UNINDENT .UNINDENT .sp If using the \fI\%\-\-uri connection string\fP, specify the database as part of the string. You cannot use the command\-line option \fI\%\-\-db\fP in conjunction with the \fI\%\-\-uri connection string\fP\&. .IP \(bu 2 Specify the replica set name and members in the \fI\%\-\-host\fP: .INDENT 2.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-host "myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com" \-\-collection events \-\-db reporting \-\-out events.json [additional options] .ft P .fi .UNINDENT .UNINDENT .UNINDENT .sp By default, \fI\%mongoexport\fP reads from the primary of the replica set. To override the default, you can specify the read preference: .INDENT 0.0 .IP \(bu 2 You can specify the read preference in the \fI\%\-\-uri connection string\fP .INDENT 2.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-uri "mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/reporting?replicaSet=myReplicaSetName&readPreference=secondary" \-\-collection events \-\-out events.json [additional options] .ft P .fi .UNINDENT .UNINDENT .sp If specifying the read preference tags, include the \fBreadPreferenceTags\fP option: .INDENT 2.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-uri "mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/reporting?replicaSet=myReplicaSetName&readPreference=secondary&readPreferenceTags=region:east" \-\-collection events \-\-out events.json [additional options] .ft P .fi .UNINDENT .UNINDENT .sp If using the \fI\%\-\-uri connection string\fP, specify the database as part of the string. You cannot use the command\-line option \fI\%\-\-db\fP in conjunction with the \fI\%\-\-uri connection string\fP\&. .IP \(bu 2 You can specify the read preference in using the \fI\%\-\-readPreference\fP command\-line option. The command\-line option takes a string if specifying only the read preference mode: .INDENT 2.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-host "myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017" \-\-readPreference secondary \-\-collection events \-\-db reporting \-\-out events.json [additional options] .ft P .fi .UNINDENT .UNINDENT .sp Or, the command\-line option can takes a quote\-enclosed document \fB\(aq{ mode: , tagSets: [ , ... ], maxStalenessSeconds:}\(aq\fP to specify the mode, the optional read preference tag sets, and the optional maxStalenessSeconds: .INDENT 2.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-host "myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017" \-\-readPreference \(aq{mode: "secondary", tagSets: [ { "region": "east" } ]}\(aq \-\-collection events \-\-db reporting \-\-out events.json [additional options] .ft P .fi .UNINDENT .UNINDENT .UNINDENT .sp For more information on the options available, see \fI\%Options\fP\&. .SS Connect to a Sharded Cluster .sp To connect to a sharded cluster to export its data, you can either: .INDENT 0.0 .IP \(bu 2 Specify the hostname of the \fBmongos\fP instance in the \fI\%\-\-uri connection string\fP .INDENT 2.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-uri "mongodb://mongos0.example.com:27017/reporting" \-\-collection events \-\-out events.json [additional options] .ft P .fi .UNINDENT .UNINDENT .sp If using the \fI\%\-\-uri connection string\fP, specify the database as part of the string. You cannot use the command\-line option \fI\%\-\-db\fP in conjunction with the \fI\%\-\-uri connection string\fP\&. .IP \(bu 2 Specify the hostname and port of the \fBmongos\fP instance in the \fI\%\-\-host\fP .INDENT 2.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-host "mongos0.example.com:27017" \-\-collection events \-\-db reporting \-\-out events.json[additional options] .ft P .fi .UNINDENT .UNINDENT .UNINDENT .sp By default, \fI\%mongoexport\fP reads from the primary of the shard replica set. To override the default, you can specify the read preference: .INDENT 0.0 .IP \(bu 2 You can specify the read preference in the \fI\%\-\-uri connection string\fP .INDENT 2.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-uri "mongodb://mongos0.example.com:27017/reporting?readPreference=secondary" \-\-collection events \-\-out events.json [additional options] .ft P .fi .UNINDENT .UNINDENT .sp If specifying the read preference tags, include the \fBreadPreferenceTags\fP option: .INDENT 2.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-uri "mongodb://mongos0.example.com:27017/reporting?readPreference=secondary&readPreferenceTags=region:east" \-\-collection events \-\-out events.json [additional options] .ft P .fi .UNINDENT .UNINDENT .sp If using the \fI\%\-\-uri connection string\fP, specify the database as part of the string. You cannot use the command\-line option \fI\%\-\-db\fP in conjunction with the \fI\%\-\-uri connection string\fP\&. .IP \(bu 2 You can specify the read preference in using the \fI\%\-\-readPreference\fP command\-line option. The command\-line option takes a string if specifying only the read preference mode: .INDENT 2.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-host "mongos0.example.com:27017" \-\-readPreference secondary \-\-collection events \-\-db reporting \-\-out events.json [additional options] .ft P .fi .UNINDENT .UNINDENT .sp Or, the command\-line option can takes a quote\-enclosed document \fB\(aq{ mode: , tagSets: [ , ... ], maxStalenessSeconds:}\(aq\fP to specify the mode, the optional read preference tag sets, and the optional maxStalenessSeconds: .INDENT 2.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-host "mongos0.example.com:27017" \-\-readPreference \(aq{mode: "secondary", tagSets: [ { "region": "east" } ]}\(aq \-\-collection events \-\-db reporting \-\-out events.json [additional options] .ft P .fi .UNINDENT .UNINDENT .UNINDENT .sp For more information on the options available, see \fI\%Options\fP\&. .sp \fBSEE ALSO:\fP .INDENT 0.0 .INDENT 3.5 \fI\%Examples\fP .UNINDENT .UNINDENT .SH REQUIRED ACCESS .sp \fI\%mongoexport\fP requires read access on the target database. .sp Ensure that the connecting user possesses, at a minimum, the \fBread\fP role on the target database. .sp When connecting to a \fBmongod\fP or \fBmongos\fP that enforces /core/authentication, ensure you use the required security parameters based on the configured authentication mechanism\&. .SH BEHAVIOR .SS Type Fidelity .sp \fBWARNING:\fP .INDENT 0.0 .INDENT 3.5 Avoid using \fBmongoimport\fP and \fI\%mongoexport\fP for full instance production backups. They do not reliably preserve all rich BSON data types, because JSON can only represent a subset of the types supported by BSON. Use \fBmongodump\fP and \fBmongorestore\fP as described in /core/backups for this kind of functionality. .UNINDENT .UNINDENT .sp Starting in version 4.2, \fI\%mongoexport\fP: .INDENT 0.0 .IP \(bu 2 Outputs data in Extended JSON v2.0 (Relaxed mode) by default. .IP \(bu 2 Outputs Extended JSON v2.0 (Canonical mode) if used with \fI\%\-\-jsonFormat\fP\&. .UNINDENT .sp Earlier versions used Extended JSON v1.0 (Canonical mode)\&. .sp For example, the following insert operation in the \fBmongo\fP shell uses the various shell helpers for the BSON types Date and 64\-bit integer: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C use test db.traffic.insert( { _id: 1, volume: NumberLong(\(aq2980000\(aq), date: new Date() } ) .ft P .fi .UNINDENT .UNINDENT .sp The argument to 64\-bit integer must be quoted to avoid potential loss of accuracy. .sp Use \fI\%mongoexport\fP to export the data: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-db test \-\-collection traffic \-\-out traffic.json .ft P .fi .UNINDENT .UNINDENT .sp In version 4.2+, the exported data is in Extended JSON v2.0 (Relaxed mode)\&. .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C {"_id":1.0,"volume":2980000,"date":{"$date":"2019\-08\-05T16:18:29.559Z"}} .ft P .fi .UNINDENT .UNINDENT .sp To output in Extended JSON v2.0 (Canonical mode), include the \fI\%\-\-jsonFormat=canonical\fP: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-db test \-\-collection traffic \-\-jsonFormat=canonical \-\-out traffic.json .ft P .fi .UNINDENT .UNINDENT .sp The exported data is in Extended JSON v2.0 (Canonical mode): .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C {"_id":{"$numberDouble":"1.0"},"volume":{"$numberLong":"2980000"},"date":{"$date":{"$numberLong":"1565363188675"}}} .ft P .fi .UNINDENT .UNINDENT .sp In version 4.0 and earlier, the exported data is in Extended JSON v1.0 (Strict mode) .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C {"_id":1.0,"volume":{"$numberLong":"2980000"},"date":{"$date":"2019\-08\-05T16:18:29.559Z"}} .ft P .fi .UNINDENT .UNINDENT .SS FIPS .sp Starting in version 4.2, MongoDB removes the \fB\-\-sslFIPSMode\fP option for mongoexport\&. mongoexport will use FIPS compliant connections to \fBmongod\fP/\fBmongos\fP if the \fBmongod\fP/\fBmongos\fP instances are configured to use FIPS mode\&. .SS Read Preference .sp By default, \fI\%mongoexport\fP uses read preference \fBprimary\fP\&. To override the default, you can specify the read preference in the \fI\%\-\-readPreference\fP command line option or in the \fI\%\-\-uri connection string\fP\&. .sp Starting in version 4.2, if you specify read preference in the URI string and the \fI\%\-\-readPreference\fP, the \fI\%\-\-readPreference\fP value overrides the read preference specified in the URI string. .sp In earlier versions, the two options are incompatible. .SH OPTIONS .sp Changed in version 3.0.0: \fI\%mongoexport\fP removed the \fB\-\-dbpath\fP as well as related \fB\-\-directoryperdb\fP and \fB\-\-journal\fP options. To use \fI\%mongoexport\fP, you must run \fI\%mongoexport\fP against a running \fBmongod\fP or \fBmongos\fP instance as appropriate. .sp Changed in version 3.0.0: \fI\%mongoexport\fP removed the \fB\-\-csv\fP option. Use the \fI\%\-\-type=csv\fP option to specify CSV format for the output. .INDENT 0.0 .TP .B mongoexport .UNINDENT .INDENT 0.0 .TP .B \-\-help Returns information on the options and use of \fBmongoexport\fP\&. .UNINDENT .INDENT 0.0 .TP .B \-\-verbose, \-v Increases the amount of internal reporting returned on standard output or in log files. Increase the verbosity with the \fB\-v\fP form by including the option multiple times, (e.g. \fB\-vvvvv\fP\&.) .UNINDENT .INDENT 0.0 .TP .B \-\-quiet Runs \fBmongoexport\fP in a quiet mode that attempts to limit the amount of output. .sp This option suppresses: .INDENT 7.0 .IP \(bu 2 output from database commands .IP \(bu 2 replication activity .IP \(bu 2 connection accepted events .IP \(bu 2 connection closed events .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-version Returns the \fBmongoexport\fP release number. .UNINDENT .INDENT 0.0 .TP .B \-\-uri New in version 3.4.6. .sp Specify a resolvable URI connection string (enclose in quotes) to connect to the MongoDB deployment. .INDENT 7.0 .INDENT 3.5 .sp .nf .ft C \-\-uri "mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]" .ft P .fi .UNINDENT .UNINDENT .sp For information on the components of the connection string, see the Connection String URI Format documentation. .sp \fBNOTE:\fP .INDENT 7.0 .INDENT 3.5 For TLS/SSL options, use the command\-line options instead of the URI options for TLS/SSL (Available starting in 4.2)\&. .UNINDENT .UNINDENT .sp \fBIMPORTANT:\fP .INDENT 7.0 .INDENT 3.5 The following command\-line options cannot be used in conjunction with \fI\%\-\-uri\fP option: .INDENT 0.0 .IP \(bu 2 \fI\%\-\-host\fP .IP \(bu 2 \fI\%\-\-port\fP .IP \(bu 2 \fI\%\-\-db\fP .IP \(bu 2 \fI\%\-\-username\fP .IP \(bu 2 \fI\%\-\-password\fP (if the URI connection string also includes the password) .IP \(bu 2 \fI\%\-\-authenticationDatabase\fP .IP \(bu 2 \fI\%\-\-authenticationMechanism\fP .UNINDENT .sp Instead, specify these options as part of your \fI\%\-\-uri\fP connection string. .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-host <:port>, \-h <:port> \fIDefault\fP: localhost:27017 .sp Specifies a resolvable hostname for the \fBmongod\fP to which to connect. By default, the \fBmongoexport\fP attempts to connect to a MongoDB instance running on the localhost on port number \fB27017\fP\&. .sp To connect to a replica set, specify the \fBreplSetName\fP and a seed list of set members, as in the following: .INDENT 7.0 .INDENT 3.5 .sp .nf .ft C \-\-host /<:port>,<:port>,<...> .ft P .fi .UNINDENT .UNINDENT .sp When specifying the replica set list format, \fBmongoexport\fP always connects to the primary\&. .sp You can also connect to any single member of the replica set by specifying the host and port of only that member: .INDENT 7.0 .INDENT 3.5 .sp .nf .ft C \-\-host <:port> .ft P .fi .UNINDENT .UNINDENT .sp Changed in version 3.0.0: If you use IPv6 and use the \fB
:\fP format, you must enclose the portion of an address and port combination in brackets (e.g. \fB[
]\fP). .sp \fBNOTE:\fP .INDENT 7.0 .INDENT 3.5 You cannot specify both \fI\%\-\-host\fP and \fI\%\-\-uri\fP\&. .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-port \fIDefault\fP: 27017 .sp Specifies the TCP port on which the MongoDB instance listens for client connections. .sp \fBNOTE:\fP .INDENT 7.0 .INDENT 3.5 You cannot specify both \fI\%\-\-port\fP and \fI\%\-\-uri\fP\&. .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-ipv6 \fIRemoved in version 3.0.\fP .sp Enables IPv6 support and allows \fBmongoexport\fP to connect to the MongoDB instance using an IPv6 network. Prior to MongoDB 3.0, you had to specify \fI\%\-\-ipv6\fP to use IPv6. In MongoDB 3.0 and later, IPv6 is always enabled. .UNINDENT .INDENT 0.0 .TP .B \-\-ssl New in version 2.6. .sp Enables connection to a \fBmongod\fP or \fBmongos\fP that has TLS/SSL support enabled. .sp For more information about TLS/SSL and MongoDB, see /tutorial/configure\-ssl and /tutorial/configure\-ssl\-clients . .UNINDENT .INDENT 0.0 .TP .B \-\-sslCAFile New in version 2.6. .sp Specifies the \fB\&.pem\fP file that contains the root certificate chain from the Certificate Authority. Specify the file name of the \fB\&.pem\fP file using relative or absolute paths. .sp Starting in version 3.4, if \fB\-\-tlsCAFile\fP/\fBnet.tls.CAFile\fP (or their aliases \fB\-\-sslCAFile\fP/\fBnet.ssl.CAFile\fP) is not specified and you are not using x.509 authentication, the system\-wide CA certificate store will be used when connecting to an TLS/SSL\-enabled server. .sp To use x.509 authentication, \fB\-\-tlsCAFile\fP or \fBnet.tls.CAFile\fP must be specified unless using \fB\-\-tlsCertificateSelector\fP or \fB\-\-net.tls.certificateSelector\fP\&. Or if using the \fBssl\fP aliases, \fB\-\-sslCAFile\fP or \fBnet.ssl.CAFile\fP must be specified unless using \fB\-\-sslCertificateSelector\fP or \fBnet.ssl.certificateSelector\fP\&. .sp \fBWARNING:\fP .INDENT 7.0 .INDENT 3.5 \fBVersion 3.2 and earlier:\fP For TLS/SSL connections (\fB\-\-ssl\fP) to \fBmongod\fP and \fBmongos\fP, if the \fBmongoexport\fP runs without the \fI\%\-\-sslCAFile\fP, \fBmongoexport\fP will not attempt to validate the server certificates. This creates a vulnerability to expired \fBmongod\fP and \fBmongos\fP certificates as well as to foreign processes posing as valid \fBmongod\fP or \fBmongos\fP instances. Ensure that you \fIalways\fP specify the CA file to validate the server certificates in cases where intrusion is a possibility. .UNINDENT .UNINDENT .sp For more information about TLS/SSL and MongoDB, see /tutorial/configure\-ssl and /tutorial/configure\-ssl\-clients . .UNINDENT .INDENT 0.0 .TP .B \-\-sslPEMKeyFile New in version 2.6. .sp Specifies the \fB\&.pem\fP file that contains both the TLS/SSL certificate and key. Specify the file name of the \fB\&.pem\fP file using relative or absolute paths. .sp This option is required when using the \fI\%\-\-ssl\fP option to connect to a \fBmongod\fP or \fBmongos\fP that has \fBCAFile\fP enabled \fIwithout\fP \fBallowConnectionsWithoutCertificates\fP\&. .sp For more information about TLS/SSL and MongoDB, see /tutorial/configure\-ssl and /tutorial/configure\-ssl\-clients . .UNINDENT .INDENT 0.0 .TP .B \-\-sslPEMKeyPassword New in version 2.6. .sp Specifies the password to de\-crypt the certificate\-key file (i.e. \fI\%\-\-sslPEMKeyFile\fP). Use the \fI\%\-\-sslPEMKeyPassword\fP option only if the certificate\-key file is encrypted. In all cases, the \fBmongoexport\fP will redact the password from all logging and reporting output. .sp If the private key in the PEM file is encrypted and you do not specify the \fI\%\-\-sslPEMKeyPassword\fP option, the \fBmongoexport\fP will prompt for a passphrase. See ssl\-certificate\-password\&. .sp For more information about TLS/SSL and MongoDB, see /tutorial/configure\-ssl and /tutorial/configure\-ssl\-clients . .UNINDENT .INDENT 0.0 .TP .B \-\-sslCRLFile New in version 2.6. .sp Specifies the \fB\&.pem\fP file that contains the Certificate Revocation List. Specify the file name of the \fB\&.pem\fP file using relative or absolute paths. .sp For more information about TLS/SSL and MongoDB, see /tutorial/configure\-ssl and /tutorial/configure\-ssl\-clients . .UNINDENT .INDENT 0.0 .TP .B \-\-sslAllowInvalidCertificates New in version 2.6. .sp Bypasses the validation checks for server certificates and allows the use of invalid certificates. When using the \fBallowInvalidCertificates\fP setting, MongoDB logs as a warning the use of the invalid certificate. .sp Starting in MongoDB 4.0, if you specify \fB\-\-sslAllowInvalidCertificates\fP or \fBnet.ssl.allowInvalidCertificates: true\fP (or in MongoDB 4.2, the alias \fB\-\-tlsAllowInvalidateCertificates\fP or \fBnet.tls.allowInvalidCertificates: true\fP) when using x.509 authentication, an invalid certificate is only sufficient to establish a TLS/SSL connection but is \fIinsufficient\fP for authentication. .sp # We created a separate blurb for tls in the ssl\-clients page. .sp \fBWARNING:\fP .INDENT 7.0 .INDENT 3.5 Although available, avoid using the \fB\-\-sslAllowInvalidCertificates\fP option if possible. If the use of \fB\-\-sslAllowInvalidCertificates\fP is necessary, only use the option on systems where intrusion is not possible. .sp If the \fBmongo\fP shell (and other mongodb\-tools\-support\-ssl) runs with the \fB\-\-sslAllowInvalidCertificates\fP option, the \fBmongo\fP shell (and other mongodb\-tools\-support\-ssl) will not attempt to validate the server certificates. This creates a vulnerability to expired \fBmongod\fP and \fBmongos\fP certificates as well as to foreign processes posing as valid \fBmongod\fP or \fBmongos\fP instances. If you only need to disable the validation of the hostname in the TLS/SSL certificates, see \fB\-\-sslAllowInvalidHostnames\fP\&. .UNINDENT .UNINDENT .sp For more information about TLS/SSL and MongoDB, see /tutorial/configure\-ssl and /tutorial/configure\-ssl\-clients . .UNINDENT .INDENT 0.0 .TP .B \-\-sslAllowInvalidHostnames New in version 3.0. .sp Disables the validation of the hostnames in TLS/SSL certificates. Allows \fBmongoexport\fP to connect to MongoDB instances even if the hostname in their certificates do not match the specified hostname. .sp For more information about TLS/SSL and MongoDB, see /tutorial/configure\-ssl and /tutorial/configure\-ssl\-clients . .UNINDENT .INDENT 0.0 .TP .B \-\-username , \-u Specifies a username with which to authenticate to a MongoDB database that uses authentication. Use in conjunction with the \fI\%\-\-password\fP and \fI\%\-\-authenticationDatabase\fP options. .sp \fBNOTE:\fP .INDENT 7.0 .INDENT 3.5 You cannot specify both \fI\%\-\-username\fP and \fI\%\-\-uri\fP\&. .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-password , \-p Specifies a password with which to authenticate to a MongoDB database that uses authentication. Use in conjunction with the \fI\%\-\-username\fP and \fI\%\-\-authenticationDatabase\fP options. .sp Changed in version 3.0.2: To prompt the user for the password, pass the \fI\%\-\-username\fP option without \fI\%\-\-password\fP or specify an empty string as the \fI\%\-\-password\fP value, as in \fB\-\-password ""\fP . .sp \fBNOTE:\fP .INDENT 7.0 .INDENT 3.5 You cannot specify both \fI\%\-\-password\fP and \fI\%\-\-uri\fP\&. .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-authenticationDatabase Specifies the authentication database where the specified \fI\%\-\-username\fP has been created. See user\-authentication\-database\&. .sp \fBNOTE:\fP .INDENT 7.0 .INDENT 3.5 You cannot specify both \fI\%\-\-authenticationDatabase\fP and \fI\%\-\-uri\fP\&. .UNINDENT .UNINDENT .sp If you do not specify an authentication database, \fBmongoexport\fP assumes that the database specified to export holds the user\(aqs credentials. .UNINDENT .INDENT 0.0 .TP .B \-\-authenticationMechanism \fIDefault\fP: SCRAM\-SHA\-1 .sp Specifies the authentication mechanism the \fBmongoexport\fP instance uses to authenticate to the \fBmongod\fP or \fBmongos\fP\&. .sp Changed in version 4.0: MongoDB removes support for the deprecated MongoDB Challenge\-Response (\fBMONGODB\-CR\fP) authentication mechanism. .sp MongoDB adds support for SCRAM mechanism using the SHA\-256 hash function (\fBSCRAM\-SHA\-256\fP). .TS center; |l|l|. _ T{ Value T} T{ Description T} _ T{ SCRAM\-SHA\-1 T} T{ \fI\%RFC 5802\fP standard Salted Challenge Response Authentication Mechanism using the SHA\-1 hash function. T} _ T{ SCRAM\-SHA\-256 T} T{ \fI\%RFC 7677\fP standard Salted Challenge Response Authentication Mechanism using the SHA\-256 hash function. .sp Requires featureCompatibilityVersion set to \fB4.0\fP\&. .sp New in version 4.0. T} _ T{ MONGODB\-X509 T} T{ MongoDB TLS/SSL certificate authentication. T} _ T{ GSSAPI (Kerberos) T} T{ External authentication using Kerberos. This mechanism is available only in \fI\%MongoDB Enterprise\fP\&. T} _ T{ PLAIN (LDAP SASL) T} T{ External authentication using LDAP. You can also use \fBPLAIN\fP for authenticating in\-database users. \fBPLAIN\fP transmits passwords in plain text. This mechanism is available only in \fI\%MongoDB Enterprise\fP\&. T} _ .TE .sp \fBNOTE:\fP .INDENT 7.0 .INDENT 3.5 You cannot specify both \fI\%\-\-authenticationMechanism\fP and \fI\%\-\-uri\fP\&. .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-gssapiServiceName New in version 2.6. .sp Specify the name of the service using GSSAPI/Kerberos\&. Only required if the service does not use the default name of \fBmongodb\fP\&. .sp This option is available only in MongoDB Enterprise. .UNINDENT .INDENT 0.0 .TP .B \-\-gssapiHostName New in version 2.6. .sp Specify the hostname of a service using GSSAPI/Kerberos\&. \fIOnly\fP required if the hostname of a machine does not match the hostname resolved by DNS. .sp This option is available only in MongoDB Enterprise. .UNINDENT .INDENT 0.0 .TP .B \-\-db , \-d Specifies the name of the database on which to run the \fBmongoexport\fP\&. .sp \fBNOTE:\fP .INDENT 7.0 .INDENT 3.5 You cannot specify both \fI\%\-\-db\fP and \fI\%\-\-uri\fP\&. .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-collection , \-c Specifies the collection to export. .UNINDENT .INDENT 0.0 .TP .B \-\-fields , \-f Specifies a field or fields to \fIinclude\fP in the export. Use a comma separated list of fields to specify multiple fields. .sp If any of your field names include white space, use quotation marks to enclose the field list. For example, if you wished to export two fields, \fBphone\fP and \fBuser number\fP, you would specify \fB\-\-fields "phone,user number"\fP\&. .sp For \fI\%csv\fP output formats, \fI\%mongoexport\fP includes only the specified field(s), and the specified field(s) can be a field within a sub\-document. .sp For JSON output formats, \fI\%mongoexport\fP includes only the specified field(s) \fBand\fP the \fB_id\fP field, and if the specified field(s) is a field within a sub\-document, the \fI\%mongoexport\fP includes the sub\-document with all its fields, not just the specified field within the document. .sp See: \fI\%Export Data in CSV Format using \-\-fields option\fP for sample usage. .UNINDENT .INDENT 0.0 .TP .B \-\-fieldFile An alternative to \fI\%\-\-fields\fP\&. The \fI\%\-\-fieldFile\fP option allows you to specify in a file the field or fields to \fIinclude\fP in the export and is \fBonly valid\fP with the \fI\%\-\-type\fP option with value \fBcsv\fP\&. The file must have only one field per line, and the line(s) must end with the LF character (\fB0x0A\fP). .sp \fI\%mongoexport\fP includes only the specified field(s). The specified field(s) can be a field within a sub\-document. .sp See \fI\%Use a File to Specify the Fields to Export in CSV Format\fP for sample usage. .UNINDENT .INDENT 0.0 .TP .B \-\-query , \-q Provides a query as a JSON document (enclosed in quotes) to return matching documents in the export. .sp You must enclose the query document in single quotes (\fB\(aq{ ... }\(aq\fP) to ensure that it does not interact with your shell environment. .sp Starting in MongoDB 4.2, the query \fBmust\fP be in Extended JSON v2 format (either relaxed or canonical/strict mode), including enclosing the field names and operators in quotes: .sp For example, given a collection named \fBrecords\fP in the database \fBtest\fP with the following documents: .INDENT 7.0 .INDENT 3.5 .sp .nf .ft C { "_id" : ObjectId("51f0188846a64a1ed98fde7c"), "a" : 1, "date" : ISODate("1960\-05\-01T00:00:00Z") } { "_id" : ObjectId("520e61b0c6646578e3661b59"), "a" : 1, "b" : 2, "date" : ISODate("1970\-05\-01T00:00:00Z") } { "_id" : ObjectId("520e642bb7fa4ea22d6b1871"), "a" : 2, "b" : 3, "c" : 5, "date" : ISODate("2010\-05\-01T00:00:00Z") } { "_id" : ObjectId("520e6431b7fa4ea22d6b1872"), "a" : 3, "b" : 3, "c" : 6, "date" : ISODate("2015\-05\-02T00:00:00Z") } { "_id" : ObjectId("520e6445b7fa4ea22d6b1873"), "a" : 5, "b" : 6, "c" : 8, "date" : ISODate("2018\-03\-01T00:00:00Z") } { "_id" : ObjectId("5cd0de910dbce4346295ae28"), "a" : 15, "b" : 5, "date" : ISODate("2015\-03\-01T00:00:00Z") } .ft P .fi .UNINDENT .UNINDENT .sp The following \fI\%mongoexport\fP uses the \fI\%\-q\fP option to export only the documents with the field \fBa\fP greater than or equal to (\fB$gte\fP) to \fB3\fP and the field \fBdate\fP less than \fBISODate("2016\-01\-01T00:00:00Z")\fP (using the extended JSON v2 format (relaxed mode) for dates { "$date": "YYYY\-MM\-DDTHH:mm:ss.mmm"}): .INDENT 7.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-d test \-c records \-q \(aq{ "a": { "$gte": 3 }, "date": { "$lt": { "$date": "2016\-01\-01T00:00:00.000Z" } } }\(aq \-\-out exportdir/myRecords.json .ft P .fi .UNINDENT .UNINDENT .sp The resulting file contains the following documents: .INDENT 7.0 .INDENT 3.5 .sp .nf .ft C {"_id":{"$oid":"520e6431b7fa4ea22d6b1872"},"a":3.0,"b":3.0,"c":6.0,"date":{"$date":"2015\-05\-02T00:00:00Z"}} {"_id":{"$oid":"5cd0de910dbce4346295ae28"},"a":15.0,"b":5.0,"date":{"$date":"2015\-03\-01T00:00:00Z"}} .ft P .fi .UNINDENT .UNINDENT .sp You can sort the results with the \fI\%\-\-sort\fP option to \fI\%mongoexport\fP\&. .UNINDENT .INDENT 0.0 .TP .B \-\-type \fIDefault\fP: json .sp New in version 3.0. .sp Specifies the file type to export. Specify \fBcsv\fP for CSV format or \fBjson\fP for JSON format. .sp If you specify \fBcsv\fP, then you must also use either the \fI\%\-\-fields\fP or the \fI\%\-\-fieldFile\fP option to declare the fields to export from the collection. .UNINDENT .INDENT 0.0 .TP .B \-\-out , \-o Specifies a file to write the export to. If you do not specify a file name, the \fI\%mongoexport\fP writes data to standard output (e.g. \fBstdout\fP). .UNINDENT .INDENT 0.0 .TP .B \-\-jsonFormat \fIDefault\fP: relaxed .sp Modifies the output to use either canonical or relaxed mode of the /reference/mongodb\-extended\-json format. .sp For differences between canonical and relaxed modes, see /reference/mongodb\-extended\-json\&. .UNINDENT .INDENT 0.0 .TP .B \-\-jsonArray Modifies the output of \fI\%mongoexport\fP to write the entire contents of the export as a single JSON array. By default \fI\%mongoexport\fP writes data using one JSON document for every MongoDB document. .UNINDENT .INDENT 0.0 .TP .B \-\-pretty New in version 3.0.0. .sp Outputs documents in a pretty\-printed format JSON. .UNINDENT .INDENT 0.0 .TP .B \-\-noHeaderLine New in version 3.4. .sp By default, \fBmongoexport\fP includes the exported field names as the first line in a CSV output. \fI\%\-\-noHeaderLine\fP directs \fBmongoexport\fP to export the data without the list of field names. \fI\%\-\-noHeaderLine\fP is \fBonly valid\fP with the \fI\%\-\-type\fP option with value \fBcsv\fP\&. .sp See \fI\%Exclude Field Names from CSV Output\fP for sample usage. .UNINDENT .INDENT 0.0 .TP .B \-\-slaveOk, \-k Deprecated since version 3.2. .sp Sets the replica\-set\-read\-preference to \fBnearest\fP, allowing \fI\%mongoexport\fP to read data from secondary replica set members. .sp \fI\%\-\-readPreference\fP replaces \fB\-\-slaveOk\fP in MongoDB 3.2. You cannot specify \fB\-\-slaveOk\fP when \fI\%\-\-readPreference\fP is specified. .sp \fBWARNING:\fP .INDENT 7.0 .INDENT 3.5 Using a read preference other than \fBprimary\fP with a connection to a \fBmongos\fP may produce inconsistencies, duplicates, or result in missed documents. .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-readPreference \fIDefault\fP: \fBprimary\fP .sp Specifies the read preference for \fBmongoexport\fP\&. The \fI\%\-\-readPreference\fP option can take: .INDENT 7.0 .IP \(bu 2 A string if specifying only the read preference mode: .INDENT 2.0 .INDENT 3.5 .sp .nf .ft C \-\-readPreference secondary .ft P .fi .UNINDENT .UNINDENT .IP \(bu 2 A quote\-enclosed document to specify the mode, the optional read preference tag sets, and the optional maxStalenessSeconds: .INDENT 2.0 .INDENT 3.5 .sp .nf .ft C \-\-readPreference \(aq{mode: "secondary", tagSets: [ { "region": "east" } ], maxStalenessSeconds: 120}\(aq .ft P .fi .UNINDENT .UNINDENT .sp If specifying the maxStalenessSeconds, the value must be greater than or equal to 90. .sp New in version 4.2. .UNINDENT .sp \fBmongoexport\fP defaults to \fBprimary\fP read preference\&. .sp Starting in version 4.2, if the read preference is also included in the \fI\%\-\-uri connection string\fP, the command\-line \fI\%\-\-readPreference\fP overrides the read preference specified in the URI string. .sp \fBWARNING:\fP .INDENT 7.0 .INDENT 3.5 Using a read preference other than \fBprimary\fP with a connection to a \fBmongos\fP may produce inconsistencies, duplicates, or result in missed documents. .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-forceTableScan Forces \fI\%mongoexport\fP to scan the data store directly instead of traversing the \fB_id\fP field index. Use \fI\%\-\-forceTableScan\fP to skip the index. Typically there are two cases where this behavior is preferable to the default: .INDENT 7.0 .IP 1. 3 If you have key sizes over 800 bytes that would not be present in the \fB_id\fP index. .IP 2. 3 Your database uses a custom \fB_id\fP field. .UNINDENT .sp When you run with \fI\%\-\-forceTableScan\fP, \fI\%mongoexport\fP may return a document more than once if a write operation interleaves with the operation to cause the document to move. .sp \fBWARNING:\fP .INDENT 7.0 .INDENT 3.5 Use \fI\%\-\-forceTableScan\fP with extreme caution and consideration. .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-skip Use \fI\%\-\-skip\fP to control where \fI\%mongoexport\fP begins exporting documents. See \fBskip()\fP for information about the underlying operation. .UNINDENT .INDENT 0.0 .TP .B \-\-limit Specifies a maximum number of documents to include in the export. See \fBlimit()\fP for information about the underlying operation. .UNINDENT .INDENT 0.0 .TP .B \-\-sort Specifies an ordering for exported results. If an index does \fBnot\fP exist that can support the sort operation, the results must be \fIless than\fP 32 megabytes. .sp Use \fI\%\-\-sort\fP conjunction with \fI\%\-\-skip\fP and \fI\%\-\-limit\fP to limit number of exported documents. .INDENT 7.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-d test \-c records \-\-sort \(aq{a: 1}\(aq \-\-limit 100 \-\-out export.0.json mongoexport \-d test \-c records \-\-sort \(aq{a: 1}\(aq \-\-limit 100 \-\-skip 100 \-\-out export.1.json mongoexport \-d test \-c records \-\-sort \(aq{a: 1}\(aq \-\-limit 100 \-\-skip 200 \-\-out export.2.json .ft P .fi .UNINDENT .UNINDENT .sp See \fBsort()\fP for information about the underlying operation. .UNINDENT .SH EXAMPLES .SS Export in CSV Format .sp Changed in version 3.0.0: \fI\%mongoexport\fP removed the \fB\-\-csv\fP option. Use the \fI\%\-\-type=csv\fP option to specify CSV format for the output. .SS Export Data in CSV Format using \fB\-\-fields\fP option .sp In the following example, \fI\%mongoexport\fP exports data from the collection \fBcontacts\fP collection in the \fBusers\fP database in CSV format to the file \fB/opt/backups/contacts.csv\fP\&. .sp The \fBmongod\fP instance that \fI\%mongoexport\fP connects to is running on the localhost port number \fB27017\fP\&. .sp When you export in CSV format, you must specify the fields in the documents to export. The operation specifies the \fBname\fP and \fBaddress\fP fields to export. .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-db users \-\-collection contacts \-\-type=csv \-\-fields name,address \-\-out /opt/backups/contacts.csv .ft P .fi .UNINDENT .UNINDENT .sp The output would then resemble: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C name, address Sophie Monroe, 123 Example Road Charles Yu, 345 Sample Street .ft P .fi .UNINDENT .UNINDENT .SS Use a File to Specify the Fields to Export in CSV Format .sp For CSV exports only, you can also specify the fields in a file containing the line\-separated list of fields to export. The file must have only one field per line. .sp For example, you can specify the \fBname\fP and \fBaddress\fP fields in a file \fBfields.txt\fP: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C name address .ft P .fi .UNINDENT .UNINDENT .sp Then, using the \fI\%\-\-fieldFile\fP option, specify the fields to export with the file: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-db users \-\-collection contacts \-\-type=csv \-\-fieldFile fields.txt \-\-out /opt/backups/contacts.csv .ft P .fi .UNINDENT .UNINDENT .SS Exclude Field Names from CSV Output .sp New in version 3.4. .sp MongoDB 3.4 added the \fI\%\-\-noHeaderLine\fP option for excluding the field names in a CSV export. The following example exports the \fBname\fP and \fBaddress\fP fields in the \fBcontacts\fP collection in the \fBusers\fP database and uses \fI\%\-\-noHeaderLine\fP to suppress the output of the field names as the first line: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-db users \-\-collection contacts \-\-type csv \-\-fields name,address \-\-noHeaderLine \-\-out /opt/backups/contacts.csv .ft P .fi .UNINDENT .UNINDENT .sp The CSV output would then resemble: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C Sophie Monroe, 123 Example Road Charles Yu, 345 Sample Street .ft P .fi .UNINDENT .UNINDENT .SS Export in JSON Format .sp This example creates an export of the \fBcontacts\fP collection from the MongoDB instance running on the localhost port number \fB27017\fP\&. This writes the export to the \fBcontacts.json\fP file in JSON format. .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-db sales \-\-collection contacts \-\-out contacts.json .ft P .fi .UNINDENT .UNINDENT .SS Export from Remote Host Running with Authentication .sp The following example exports the \fBcontacts\fP collection in the \fBmarketing\fP database from a remote MongoDB instance that requires authentication. .sp Specify the: .INDENT 0.0 .IP \(bu 2 \fI\%\-\-host\fP .IP \(bu 2 \fI\%\-\-port\fP .IP \(bu 2 \fI\%\-\-username\fP .IP \(bu 2 \fI\%\-\-authenticationDatabase\fP .IP \(bu 2 \fI\%\-\-collection\fP .IP \(bu 2 \fI\%\-\-db\fP .IP \(bu 2 \fI\%\-\-out\fP .UNINDENT .INDENT 0.0 .INDENT 3.5 .SS Tip .sp Omit the \fI\%\-\-password\fP option to have \fBmongoexport\fP prompt for the password: .UNINDENT .UNINDENT .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-host mongodb1.example.net \-\-port 27017 \-\-username someUser \-\-authenticationDatabase admin \-\-collection contacts \-\-db marketing \-\-out mdb1\-examplenet.json .ft P .fi .UNINDENT .UNINDENT .sp Alternatively, you use the \fI\%\-\-uri\fP option to specify the host, port, username, authentication database, and db. .INDENT 0.0 .INDENT 3.5 .SS Tip .sp Omit the password in the URI string to have \fBmongoexport\fP prompt for the password: .UNINDENT .UNINDENT .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-uri \(aqmongodb://someUser@mongodb0.example.com:27017/marketing?authsource=admin\(aq \-\-collection contacts \-\-out mdb1\-examplenet.json .ft P .fi .UNINDENT .UNINDENT .SS Export Query Results .sp You can export only the results of a query by supplying a query filter with the \fI\%\-\-query\fP option, and limit the results to a single database using the "\fI\%\-\-db\fP" option. .sp For instance, this command returns all documents in the \fBsales\fP database\(aqs \fBcontacts\fP collection that contain a field named \fBdept\fP equal to \fB"ABC"\fP and the field \fBdate\fP greater than or equal to ISODate("2018\-01\-01") (using the canonical format for dates { "$date": "YYYY\-MM\-DDTHH:mm:ss.mmm"} ) .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C mongoexport \-\-db sales \-\-collection contacts \-\-query \(aq{"dept": "ABC", date: { $gte: { "$date": "2018\-01\-01T00:00:00.000Z" } }}\(aq .ft P .fi .UNINDENT .UNINDENT .sp You must enclose the query document in single quotes (\fB\(aq{ ... }\(aq\fP) to ensure that it does not interact with your shell environment. .SH AUTHOR MongoDB Documentation Project .SH COPYRIGHT 2008-2019 .\" Generated by docutils manpage writer. .