NAME¶
mongoimport - MongoDB
SYNOPSIS¶
The
mongoimport tool provides a route to import content from a JSON, CSV,
or TSV export created by
mongoexport, or potentially, another
third-party export tool. See the "
/administration/import-export" document for a more in depth usage
overview, and the "
mongoexport" document for more
information regarding
mongoexport, which provides the inverse
"importing" capability.
- Note
- Do not use mongoimport and mongoexport for
full instance, production backups because they will not reliably capture
data type information. Use mongodump and mongorestore as
described in " /administration/backups" for this kind of
functionality.
OPTIONS¶
- --help
- Returns a basic help and usage text.
- --verbose, -v
- Increases the amount of internal reporting returned on the
command line. Increase the verbosity with the -v form by including
the option multiple times, (e.g. -vvvvv.)
- --version
- Returns the version of the mongoimport program.
- --host <hostname><:port>, -h
- Specifies a resolvable hostname for the mongod to
which you want to restore the database. By default mongoimport will
attempt to connect to a MongoDB process ruining on the localhost port
numbered 27017.
Optionally, specify a port number to connect a MongoDB instance running on a
port other than 27017.
To connect to a replica set, use the --host argument with a setname,
followed by a slash and a comma-separated list of host and port names.
mongoimport will, given the seed of at least one connected set
member, connect to primary node of that set. This option would resemble:
--host repl0/mongo0.example.net,mongo0.example.net:27018,mongo1.example.net,mongo2.example.net
You can always connect directly to a single MongoDB instance by specifying
the host and port number directly.
- --port <port>
- Specifies the port number, if the MongoDB instance is not
running on the standard port. (i.e. 27017) You may also specify a
port number using the mongoimport --host command.
- --ipv6
- Enables IPv6 support that allows mongoimport to
connect to the MongoDB instance using an IPv6 network. All MongoDB
programs and processes, including mongoimport, disable IPv6 support
by default.
- --ssl
- New in version 2.4: MongoDB added support for SSL
connections to mongod instances in mongoimport.
- Note
- SSL support in mongoimport is not compiled into the default
distribution of MongoDB. See /administration/ssl for more
information on SSL and MongoDB.
Additionally, mongoimport does not support connections to mongod
instances that require client certificate validation.
Allows
mongoimport to connect to
mongod instance over an SSL
connection.
- --username <username>, -u
<username>
- Specifies a username to authenticate to the MongoDB
instance, if your database requires authentication. Use in conjunction
with the mongoimport --password option to supply a password.
- --password <password>, -p
<password>
- Specifies a password to authenticate to the MongoDB
instance. Use in conjunction with the mongoimport --username option
to supply a username.
If you specify a --username without the --password option,
mongoimport will prompt for a password interactively.
- --authenticationDatabase <dbname>
- New in version 2.4.
Specifies the database that holds the user's (e.g --username)
credentials.
By default, mongoimport assumes that the database specified to the
--db argument holds the user's credentials, unless you specify
--authenticationDatabase.
See userSource, /reference/privilege-documents and
/reference/user-privileges for more information about delegated
authentication in MongoDB.
- --authenticationMechanism <name>
- New in version 2.4.
Specifies the authentication mechanism. By default, the authentication
mechanism is MONGODB-CR, which is the MongoDB challenge/response
authentication mechanism. In the MongoDB Subscriber Edition,
mongoimport also includes support for GSSAPI to handle
Kerberos authentication.
See /tutorial/control-access-to-mongodb-with-kerberos-authentication
for more information about Kerberos authentication.
- --dbpath <path>
- Specifies the directory of the MongoDB data files. If used,
the --dbpath option enables mongoimport to attach directly
to local data files and insert the data without the mongod. To run
with --dbpath, mongoimport needs to lock access to the data
directory: as a result, no mongod can access the same path while
the process runs.
- --directoryperdb
- Use the --directoryperdb in conjunction with the
corresponding option to mongod, which allows mongoimport to
import data into MongoDB instances that have every database's files saved
in discrete directories on the disk. This option is only relevant when
specifying the --dbpath option.
- --journal
- Allows mongoexport write to the durability
journal to ensure that the data files will remain in a consistent
state during the write process. This option is only relevant when
specifying the --dbpath option.
- --db <db>, -d <db>
- Use the --db option to specify a database for
mongoimport to restore data. If you do not specify a
<db>, mongoimport creates new databases that
correspond to the databases where data originated and data may be
overwritten. Use this option to restore data into a MongoDB instance that
already has data, or to restore only some data in the specified
backup.
- --collection <collection>, -c
<collection>
- Use the --collection option to specify a collection
for mongorestore to restore. If you do not specify a
<collection>, mongoimport imports all collections
created. Existing data may be overwritten. Use this option to restore data
into a MongoDB instance that already has data, or to restore only some
data in the specified imported data set.
- --fields <field1<,filed2>>, -f
<field1[,filed2]>
- Specify a comma seperatedlist of field names when importing
csv or tsv files that do not have field names in the first
(i.e. header) line of the file.
- --fieldFile <filename>
- As an alternative to --fields the --fieldFile
option allows you to specify a file (e.g. <file>`) to that
holds a list of field names if your csv or tsv file does not
include field names in the first (i.e. header) line of the file. Place one
field per line.
- --ignoreBlanks
- In csv and tsv exports, ignore empty fields.
If not specified, mongoimport creates fields without values in
imported documents.
- --type <json|csv|tsv>
- Declare the type of export format to import. The default
format is JSON, but it's possible to import csv and
tsv files.
- --file <filename>
- Specify the location of a file containing the data to
import. mongoimport will read data from standard input (e.g.
"stdin.") if you do not specify a file.
- --drop
- Modifies the importation procedure so that the target
instance drops every collection before restoring the collection from the
dumped backup.
- --headerline
- If using "--type csv" or " --type
tsv," use the first line as field names. Otherwise,
mongoimport will import the first line as a distinct document.
- --upsert
- Modifies the import process to update existing objects in
the database if they match an imported object, while inserting all other
objects.
If you do not specify a field or fields using the --upsertFields
mongoimport will upsert on the basis of the _id field.
- --upsertFields <field1[,field2]>
- Specifies a list of fields for the query portion of the
upsert. Use this option if the _id fields in the existing
documents don't match the field in the document, but another field or
field combination can uniquely identify documents as a basis for
performing upsert operations.
To ensure adequate performance, indexes should exist for this field or
fields.
- --stopOnError
- New in version 2.2.
Forces mongoimport to halt the import operation at the first error
rather than continuing the operation despite errors.
- --jsonArray
- Changed in version 2.2: The limit on document size
increased from 4MB to 16MB.
Accept import of data expressed with multiple MongoDB document within a
single JSON array.
Use in conjunction with mongoexport --jsonArray to import data
written as a single JSON array. Limited to imports of 16 MB or
smaller.
USAGE¶
In this example,
mongoimport imports the
csv formatted data in the
/opt/backups/contacts.csv into the collection
contacts in the
users database on the MongoDB instance running on the localhost port
numbered
27017.
mongoimport --db users --collection contacts --type csv --file /opt/backups/contacts.csv
In the following example,
mongoimport imports the data in the
JSON
formatted file
contacts.json into the collection
contacts on the
MongoDB instance running on the localhost port number 27017. Journaling is
explicitly enabled.
mongoimport --collection contacts --file contacts.json --journal
In the next example,
mongoimport takes data passed to it on standard
input (i.e. with a
| pipe.) and imports it into the collection
contacts in the
sales database is the MongoDB datafiles located
at
/srv/mongodb/. if the import process encounters an error, the
mongoimport will halt because of the
--stopOnError option.
mongoimport --db sales --collection contacts --stopOnError --dbpath /srv/mongodb/
In the final example,
mongoimport imports data from the file
/opt/backups/mdb1-examplenet.json into the collection
contacts
within the database
marketing on a remote MongoDB database. This
mongoimport accesses the
mongod instance running on the host
mongodb1.example.net over port
37017, which requires the
username
user and the password
pass.
mongoimport --host mongodb1.example.net --port 37017 --username user --password pass --collection contacts --db marketing --file /opt/backups/mdb1-examplenet.json
AUTHOR¶
MongoDB Documentation Project
COPYRIGHT¶
2011-2013, 10gen, Inc.