mongoexport Behavior, Access, and Usage
On this page
Warning
Data Import and Export Conflicts With ($) and (.)
Starting in MongoDB 5.0, document field names can be prefixed with a
dollar character ($
) and can contain a period character (.
).
However, mongoimport
and mongoexport
won't work with field names that use those characters.
MongoDB Extended JSON v2
cannot differentiate between type wrappers and fields that happen to
have the same name as type wrappers. Do not use Extended JSON
formats in contexts where the corresponding BSON representations
might include ($
) prefixed keys. The
DBRef mechanism is an exception to this
general rule.
There are also restrictions on using mongoimport
and
mongoexport
with (.
) in field names. Since CSV
files use the (.
) to represent data hierarchies, a (.
) in a
field name will be misinterpreted as a level of nesting.
Behavior
Type Fidelity
If you need to preserve all rich BSON data types when using
mongoexport
to perform full instance backups, be sure to
specify Extended JSON v2.0 (Canonical mode) to the
--jsonFormat
option to
mongoexport
, in the following fashion:
mongoexport --jsonFormat=canonical --collection=<coll> <connection-string>
If --jsonFormat
is unspecified,
mongoexport
outputs data in
Extended JSON v2.0 (Relaxed mode) by default.
mongoimport
will automatically use the JSON
format found in the specified target data file when restoring. For
example, it will use Extended JSON v2.0 (Canonical mode) if the target data export file was
created by mongoexport
with --jsonFormat=canonical
specified.
FIPS
mongoexport
automatically creates FIPS-compliant
connections to a mongod
/mongos
that is
configured to use FIPS mode.
Read Preference
By default, mongoexport
uses read preference
primary
. To override the default, you can specify the
read preference in the
--readPreference
command line
option or in the --uri connection string
.
If you specify read preference in the URI string and the
--readPreference
, the
--readPreference
value
overrides the read preference specified in the URI string.
Required Access
mongoexport
requires read access on the target database.
Ensure that the connecting user possesses, at a minimum, the read
role on the target database.
When connecting to a mongod
or mongos
that enforces
Authentication, ensure you use the required security
parameters based on the configured
authentication mechanism.