467 lines
13 KiB
Groff
467 lines
13 KiB
Groff
.\" Man page generated from reStructuredText.
|
|
.
|
|
.TH "MONGOEXPORT" "1" "October 03, 2013" "2.4" "mongodb-manual"
|
|
.SH NAME
|
|
mongoexport \- MongoDB
|
|
.
|
|
.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
|
|
..
|
|
.SH SYNOPSIS
|
|
.sp
|
|
\fBmongoexport\fP is a utility that produces a JSON or CSV export
|
|
of data stored in a MongoDB instance. See the
|
|
http://docs.mongodb.org/manual/core/import\-export document for a more in depth
|
|
usage overview, and the \fBmongoimport\fP document for more
|
|
information regarding the \fBmongoimport\fP utility, which
|
|
provides the inverse "importing" capability.
|
|
.sp
|
|
\fBNOTE:\fP
|
|
.INDENT 0.0
|
|
.INDENT 3.5
|
|
Do not use \fBmongoimport\fP and \fBmongoexport\fP for
|
|
full\-scale backups because they may not reliably capture data type
|
|
information. Use \fBmongodump\fP and \fBmongorestore\fP as
|
|
described in http://docs.mongodb.org/manual/core/backups for this kind of
|
|
functionality.
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.SH OPTIONS
|
|
.INDENT 0.0
|
|
.TP
|
|
.B mongoexport
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B mongoexport
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-help
|
|
Returns a basic help and usage text.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-verbose, \-v
|
|
Increases the amount of internal reporting returned on the command
|
|
line. 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 \-\-version
|
|
Returns the version of the \fBmongoexport\fP utility.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-host <hostname><:port>
|
|
Specifies a resolvable hostname for the \fBmongod\fP from which you
|
|
want to export data. By default \fBmongoexport\fP attempts to
|
|
connect to a MongoDB process ruining on the localhost port number
|
|
\fB27017\fP\&.
|
|
.sp
|
|
Optionally, specify a port number to connect a MongoDB instance
|
|
running on a port other than \fB27017\fP\&.
|
|
.sp
|
|
To connect to a replica set, you can specify the replica set seed
|
|
name, and a seed list of set members, in the following format:
|
|
.INDENT 7.0
|
|
.INDENT 3.5
|
|
.sp
|
|
.nf
|
|
.ft C
|
|
<replica_set_name>/<hostname1><:port>,<hostname2:<port>,...
|
|
.ft P
|
|
.fi
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-port <port>
|
|
Specifies the port number, if the MongoDB instance is not running on
|
|
the standard port. (i.e. \fB27017\fP) You may also specify a port
|
|
number using the \fImongoexport \-\-host\fP command.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-ipv6
|
|
Enables IPv6 support that allows \fBmongoexport\fP to connect
|
|
to the MongoDB instance using an IPv6 network. All MongoDB programs
|
|
and processes, including \fBmongoexport\fP, disable IPv6
|
|
support by default.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-ssl
|
|
New in version 2.4: MongoDB added support for SSL connections to \fBmongod\fP
|
|
instances in mongoexport\&.
|
|
|
|
.sp
|
|
\fBNOTE:\fP
|
|
.INDENT 7.0
|
|
.INDENT 3.5
|
|
SSL support in mongoexport is not compiled into the default
|
|
distribution of MongoDB. See
|
|
http://docs.mongodb.org/manual/tutorial/configure\-ssl for more information on SSL
|
|
and MongoDB.
|
|
.sp
|
|
Additionally, mongoexport does not support connections to
|
|
\fBmongod\fP instances that require client certificate
|
|
validation.
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.sp
|
|
Allows \fBmongoexport\fP to connect to \fBmongod\fP
|
|
instance over an SSL connection.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-username <username>, \-u <username>
|
|
Specifies a username to authenticate to the MongoDB instance, if your
|
|
database requires authentication. Use in conjunction with the
|
|
\fImongoexport \-\-password\fP option to supply a password.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-password <password>, \-p <password>
|
|
Specifies a password to authenticate to the MongoDB instance. Use
|
|
in conjunction with the \fI\-\-username\fP
|
|
option to supply a username.
|
|
.sp
|
|
If you specify a \fI\-\-username\fP and
|
|
do not pass an argument to \fI\-\-password\fP,
|
|
\fBmongoexport\fP will prompt for a password interactively. If
|
|
you do not specify a password on the command line,
|
|
\fI\-\-password\fP must be the last argument specified.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-authenticationDatabase <dbname>
|
|
New in version 2.4.
|
|
|
|
.sp
|
|
Specifies the database that holds the user\(aqs (e.g
|
|
\fI\-\-username\fP) credentials.
|
|
.sp
|
|
By default, \fBmongoexport\fP assumes that the database specified to the
|
|
\fI\-\-db\fP argument holds the user\(aqs credentials, unless you
|
|
specify \fI\-\-authenticationDatabase\fP\&.
|
|
.sp
|
|
See \fBuserSource\fP,
|
|
http://docs.mongodb.org/manual/reference/privilege\-documents and
|
|
http://docs.mongodb.org/manual/reference/user\-privileges for more information about
|
|
delegated authentication in MongoDB.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-authenticationMechanism <name>
|
|
New in version 2.4.
|
|
|
|
.sp
|
|
Specifies the authentication mechanism. By default, the
|
|
authentication mechanism is \fBMONGODB\-CR\fP, which is the MongoDB
|
|
challenge/response authentication mechanism. In MongoDB Enterprise,
|
|
\fBmongoexport\fP also includes support for \fBGSSAPI\fP to handle
|
|
Kerberos authentication.
|
|
.sp
|
|
See http://docs.mongodb.org/manual/tutorial/control\-access\-to\-mongodb\-with\-kerberos\-authentication
|
|
for more information about Kerberos authentication.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-dbpath <path>
|
|
Specifies the directory of the MongoDB data files. If used, the
|
|
\fB\-\-dbpath\fP option enables \fBmongoexport\fP to attach
|
|
directly to local data files and insert the data without the
|
|
\fBmongod\fP\&. To run with \fB\-\-dbpath\fP, \fBmongoexport\fP
|
|
needs to lock access to the data directory: as a result, no
|
|
\fBmongod\fP can access the same path while the process runs.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-directoryperdb
|
|
Use the \fI\-\-directoryperdb\fP in conjunction with the
|
|
corresponding option to \fBmongod\fP, which allows
|
|
\fBmongoexport\fP to export data from MongoDB instances that
|
|
have every database\(aqs files saved in discrete directories on the
|
|
disk. This option is only relevant when specifying the
|
|
\fI\-\-dbpath\fP option.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-journal
|
|
Allows \fBmongoexport\fP operations to access the durability
|
|
\fIjournal\fP to ensure that the export is in a
|
|
consistent state. This option is only relevant when specifying the
|
|
\fI\-\-dbpath\fP option.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-db <db>, \-d <db>
|
|
Use the \fI\-\-db\fP option to specify the name of the database
|
|
that contains the collection you want to export.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-collection <collection>, \-c <collection>
|
|
Use the \fI\-\-collection\fP option to specify the collection
|
|
that you want \fBmongoexport\fP to export.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-fields <field1[,field2]>, \-f <field1[,field2]>
|
|
Specify a field or fields to \fIinclude\fP in the export. Use a comma
|
|
separated list of fields to specify multiple fields.
|
|
.sp
|
|
For \fI\-\-csv\fP output formats,
|
|
\fBmongoexport\fP includes only the specified field(s), and the
|
|
specified field(s) can be a field within a sub\-document.
|
|
.sp
|
|
For \fIJSON\fP output formats, \fBmongoexport\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
|
|
\fBmongoexport\fP includes the sub\-document with all
|
|
its fields, not just the specified field within the document.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-fieldFile <file>
|
|
As 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\-\-csv\fP
|
|
option. The file must have only one field per line, and the line(s)
|
|
must end with the LF character (\fB0x0A\fP).
|
|
.sp
|
|
\fBmongoexport\fP includes only the specified field(s). The
|
|
specified field(s) can be a field within a sub\-document.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-query <JSON>, \-q <JSON>
|
|
Provides a \fIJSON document\fP as a query that optionally limits
|
|
the documents returned in the export.
|
|
.INDENT 7.0
|
|
.INDENT 3.5
|
|
.SH EXAMPLE
|
|
.sp
|
|
Given a collection named \fBrecords\fP in the database \fBtest\fP
|
|
with the following documents:
|
|
.INDENT 0.0
|
|
.INDENT 3.5
|
|
.sp
|
|
.nf
|
|
.ft C
|
|
{ "_id" : ObjectId("51f0188846a64a1ed98fde7c"), "a" : 1 }
|
|
{ "_id" : ObjectId("520e61b0c6646578e3661b59"), "a" : 1, "b" : 2 }
|
|
{ "_id" : ObjectId("520e642bb7fa4ea22d6b1871"), "a" : 2, "b" : 3, "c" : 5 }
|
|
{ "_id" : ObjectId("520e6431b7fa4ea22d6b1872"), "a" : 3, "b" : 3, "c" : 6 }
|
|
{ "_id" : ObjectId("520e6445b7fa4ea22d6b1873"), "a" : 5, "b" : 6, "c" : 8 }
|
|
.ft P
|
|
.fi
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.sp
|
|
The following \fBmongoexport\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:
|
|
.INDENT 0.0
|
|
.INDENT 3.5
|
|
.sp
|
|
.nf
|
|
.ft C
|
|
mongoexport \-d test \-c records \-q "{ a: { \e$gte: 3 } } }" \-\-out exportdir/myRecords.json
|
|
.ft P
|
|
.fi
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.sp
|
|
The resulting file contains the following documents:
|
|
.INDENT 0.0
|
|
.INDENT 3.5
|
|
.sp
|
|
.nf
|
|
.ft C
|
|
{ "_id" : { "$oid" : "520e6431b7fa4ea22d6b1872" }, "a" : 3, "b" : 3, "c" : 6 }
|
|
{ "_id" : { "$oid" : "520e6445b7fa4ea22d6b1873" }, "a" : 5, "b" : 6, "c" : 8 }
|
|
.ft P
|
|
.fi
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-csv
|
|
Changes the export format to a comma separated values (CSV)
|
|
format. By default \fBmongoexport\fP writes data using one
|
|
\fIJSON\fP document for every MongoDB document.
|
|
.sp
|
|
If you specify \fI\%--csv\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 \-\-jsonArray
|
|
Modifies the output of \fBmongoexport\fP to write the
|
|
entire contents of the export as a single \fIJSON\fP array. By
|
|
default \fBmongoexport\fP writes data using one JSON document
|
|
for every MongoDB document.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-slaveOk, \-k
|
|
Allows \fBmongoexport\fP to read data from secondary or slave
|
|
nodes when using \fBmongoexport\fP with a replica set. This
|
|
option is only available if connected to a \fBmongod\fP or
|
|
\fBmongos\fP and is not available when used with the
|
|
"\fImongoexport \-\-dbpath\fP" option.
|
|
.sp
|
|
This is the default behavior.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-out <file>, \-o <file>
|
|
Specify a file to write the export to. If you do not specify a file
|
|
name, the \fBmongoexport\fP writes data to standard output
|
|
(e.g. \fBstdout\fP).
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-forceTableScan
|
|
New in version 2.2.
|
|
|
|
.sp
|
|
Forces \fBmongoexport\fP to scan the data store directly:
|
|
typically, \fBmongoexport\fP saves entries as they appear in the
|
|
index of the \fB_id\fP field. Use \fI\-\-forceTableScan\fP to skip
|
|
the index and scan the data directly. 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, \fBmongoexport\fP
|
|
does not use \fB$snapshot\fP\&. As a result, the export produced
|
|
by \fBmongoexport\fP can reflect the state of the database at
|
|
many different points in time.
|
|
.sp
|
|
\fBWARNING:\fP
|
|
.INDENT 7.0
|
|
.INDENT 3.5
|
|
Use \fI\-\-forceTableScan\fP with extreme caution
|
|
and consideration.
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.SH USAGE
|
|
.sp
|
|
In the following example, \fBmongoexport\fP exports the
|
|
collection \fBcontacts\fP from the \fBusers\fP database from the
|
|
\fBmongod\fP instance running on the localhost port number
|
|
\fB27017\fP\&. This command writes the export data in \fICSV\fP format
|
|
into a file located at \fB/opt/backups/contacts.csv\fP\&. The
|
|
\fBfields.txt\fP file contains a line\-separated list of fields to
|
|
export.
|
|
.INDENT 0.0
|
|
.INDENT 3.5
|
|
.sp
|
|
.nf
|
|
.ft C
|
|
mongoexport \-\-db users \-\-collection contacts \-\-csv \-\-fieldFile fields.txt \-\-out /opt/backups/contacts.csv
|
|
.ft P
|
|
.fi
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.sp
|
|
The next example creates an export of the collection \fBcontacts\fP
|
|
from the MongoDB instance running on the localhost port number \fB27017\fP,
|
|
with journaling explicitly enabled. This writes the export to the
|
|
\fBcontacts.json\fP file in \fIJSON\fP format.
|
|
.INDENT 0.0
|
|
.INDENT 3.5
|
|
.sp
|
|
.nf
|
|
.ft C
|
|
mongoexport \-\-db sales \-\-collection contacts \-\-out contacts.json \-\-journal
|
|
.ft P
|
|
.fi
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.sp
|
|
The following example exports the collection \fBcontacts\fP from the
|
|
\fBsales\fP database located in the MongoDB data files located at
|
|
\fB/srv/mongodb/\fP\&. This operation writes the export to standard output
|
|
in \fIJSON\fP format.
|
|
.INDENT 0.0
|
|
.INDENT 3.5
|
|
.sp
|
|
.nf
|
|
.ft C
|
|
mongoexport \-\-db sales \-\-collection contacts \-\-dbpath /srv/mongodb/
|
|
.ft P
|
|
.fi
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.sp
|
|
\fBWARNING:\fP
|
|
.INDENT 0.0
|
|
.INDENT 3.5
|
|
The above example will only succeed if there is no \fBmongod\fP
|
|
connected to the data files located in the \fB/srv/mongodb/\fP
|
|
directory.
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.sp
|
|
The final example exports the collection \fBcontacts\fP from the
|
|
database \fBmarketing\fP . This data resides on the MongoDB instance
|
|
located on the host \fBmongodb1.example.net\fP running on port
|
|
\fB37017\fP, which requires the username \fBuser\fP and the password
|
|
\fBpass\fP\&.
|
|
.INDENT 0.0
|
|
.INDENT 3.5
|
|
.sp
|
|
.nf
|
|
.ft C
|
|
mongoexport \-\-host mongodb1.example.net \-\-port 37017 \-\-username user \-\-password pass \-\-collection contacts \-\-db marketing \-\-out mdb1\-examplenet.json
|
|
.ft P
|
|
.fi
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.SH AUTHOR
|
|
MongoDB Documentation Project
|
|
.SH COPYRIGHT
|
|
2011-2013, MongoDB, Inc.
|
|
.\" Generated by docutils manpage writer.
|
|
.
|