文档菜单
文档首页
/
MongoDB数据库工具

mongoexport

在本页

  • 摘要
  • 语法
  • 选项
  • 了解更多

本文档适用于mongoexport的版本100.10.0

mongoexport 是一个数据库工具,可以从 MongoDB 实例中导出 JSON 或 CSV 数据。

请在系统命令行中运行 mongoexport,而不是在mongo 命令行界面中。

mongoexport 不是一个用于备份部署的工具。如果您想创建备份解决方案,请参阅 使用 MongoDB 工具备份和恢复自托管部署。

提示

另请参阅

mongoimport,它提供了相应的结构化数据导入功能。

注意

如果您正在存档过时数据以节省存储成本,请考虑在 在线存档 中存档,该存档位于 MongoDB Atlas。在线存档自动将不常访问的数据存档到完全管理的 S3 存储桶中,以实现成本效益的数据分层。

您可以使用 MongoDB 数据库工具将自托管部署迁移到 MongoDB Atlas。MongoDB Atlas 是云中 MongoDB 部署的全托管服务。要了解更多信息,请参阅 使用 mongorestore 进行初始化。

要了解迁移到 MongoDB Atlas 的所有方法,请参阅 迁移或导入数据。

mongoexport 语法

mongoexport --collection=<coll> <options> <connection-string>

您必须指定要导出的 集合。如果您没有指定 输出文件,则 mongoexport 将写入标准输出(例如 stdout)。

要连接到本地运行在端口27017的MongoDB实例,您无需指定主机或端口。

例如,要将指定集合从本地运行在端口27017的MongoDB实例导出到指定的输出文件

mongoexport --collection=events --db=reporting --out=events.json

要指定MongoDB实例的主机地址和/或端口,您可以

  • --uri连接字符串中指定主机名和端口:

    mongoexport --uri="mongodb://mongodb0.example.com:27017/reporting" --collection=events --out=events.json [additional options]

    当使用--uri连接字符串时,数据库可以指定为字符串的一部分。

  • --host中指定主机名和端口:

    mongoexport --host="mongodb0.example.com:27017" --collection=events --db=reporting --out=events.json [additional options]
  • --host--port中指定主机名和端口:

    mongoexport --host="mongodb0.example.com" --port=27017 --collection=events --db=reporting --out=events.json [additional options]

有关可用选项的更多信息,请参阅选项。

注意

mongoexport 不是一个用于备份数据的工具。要备份副本集,请参阅使用 MongoDB 工具备份和恢复自管理的部署。

要连接到副本集以导出其数据,您可以:

  • --uri 连接字符串 中指定副本集名称和成员:

    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]

    当使用--uri连接字符串时,数据库可以指定为字符串的一部分。

  • --host 中指定副本集名称和成员:

    mongoexport --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com" --collection=events --db=reporting --out=events.json [additional options]

默认情况下,mongoexport 从副本集的主节点读取。要覆盖默认设置,您可以指定读取偏好:

  • 您可以在--uri 连接字符串中指定读取偏好:

    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]

    如果指定读取偏好标记,请包括readPreferenceTags 选项

    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]

    当使用--uri连接字符串时,数据库可以指定为字符串的一部分。

  • 您可以使用 --readPreference 命令行选项来指定读取偏好。如果只指定读取偏好模式,命令行选项接受一个字符串:

    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]

    或者,命令行选项可以接受一个引号括起来的文档 '{ mode: <mode>, tagSets: [ <tag1>, ... ], maxStalenessSeconds:<num>}' 来指定模式、可选的读取偏好标记集 和可选的 maxStalenessSeconds:

    mongoexport --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017" --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ]}' --collection=events --db=reporting --out=events.json [additional options]

有关可用选项的更多信息,请参阅选项。

注意

mongoexport 不是一个用于备份数据的工具。要备份您的分片集群,请参阅备份和恢复自管理的分片集群。

要连接到分片集群以导出其数据,您可以:

  • mongos实例的--uri连接字符串中指定mongos的主机名

    mongoexport --uri="mongodb://mongos0.example.com:27017/reporting" --collection=events --out=events.json [additional options]

    当使用--uri连接字符串时,数据库可以指定为字符串的一部分。

  • mongos实例的--host中指定主机名和端口号

    mongoexport --host="mongos0.example.com:27017" --collection=events --db=reporting --out=events.json[additional options]

默认情况下,mongoexport从分片副本集的主节点读取。要覆盖默认设置,可以指定以下读取偏好:

  • 您可以在--uri 连接字符串中指定读取偏好:

    mongoexport --uri="mongodb://mongos0.example.com:27017/reporting?readPreference=secondary" --collection=events --out=events.json [additional options]

    如果指定读取偏好标记,请包括readPreferenceTags 选项

    mongoexport --uri="mongodb://mongos0.example.com:27017/reporting?readPreference=secondary&readPreferenceTags=region:east" --collection=events --out=events.json [additional options]

    当使用--uri连接字符串时,数据库可以指定为字符串的一部分。

  • 您可以使用 --readPreference 命令行选项来指定读取偏好。如果只指定读取偏好模式,命令行选项接受一个字符串:

    mongoexport --host="mongos0.example.com:27017" --readPreference=secondary --collection=events --db=reporting --out=events.json [additional options]

    或者,命令行选项可以接受一个引号括起来的文档 '{ mode: <mode>, tagSets: [ <tag1>, ... ], maxStalenessSeconds:<num>}' 来指定模式、可选的读取偏好标记集 和可选的 maxStalenessSeconds:

    mongoexport --host="mongos0.example.com:27017" --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ]}' --collection=events --db=reporting --out=events.json [additional options]
--help

提供关于mongoexport选项和使用的信息。

--verbose, -v

增加在标准输出或日志文件中返回的内部报告的数量。通过多次包含选项(例如 -vvvvv)来使用 -v 形式增加详细程度。

--quiet

以安静模式运行 mongoexport,尝试限制输出量。

此选项抑制

  • 数据库命令的输出

  • 复制活动

  • 连接接受和关闭事件

  • 所有日志,包括错误消息,除了在解析选项时发生的那些

--version

返回 mongoexport 的版本号。

--config=<filename>

在版本100.3.0.

指定包含以下 mongoexport 选项敏感值的 YAML 配置文件的完整路径

这是指定密码到 mongoexport 的推荐方式,除了通过密码提示指定之外。

配置文件采用以下形式

password: <password>
uri: mongodb://mongodb0.example.com:27017
sslPEMKeyPassword: <password>

将密码指定到 password: 字段,并在 uri: 字段提供一个包含冲突密码的连接字符串会导致错误。

请确保使用适当的文件系统权限来保护此文件。

注意

如果您使用 --config 指定配置文件,并且还使用 --password--uri--sslPEMKeyPassword 选项来指定 mongoexport,则每个命令行选项将覆盖配置文件中对应的选项。

--uri=<connectionString>

指定 MongoDB 部署的解析 URI 连接字符串,用引号括起来

--uri="mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]"

mongoexport 的版本 100.0 开始,连接字符串可以作为一个位置参数提供,而不使用 --uri 选项

mongoexport mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

作为一个位置参数,连接字符串可以指定在命令行的任何位置,只要它以 mongodb://mongodb+srv:// 开头。例如

mongoexport --username joe --password secret1 mongodb://mongodb0.example.com:27017 --ssl

只能提供一个连接字符串。尝试包含多个,无论是使用 --uri 选项还是作为一个位置参数,都会导致错误。

有关连接字符串组件的信息,请参阅 连接字符串 URI 格式 文档。

注意

连接字符串中的某些组件可以使用它们自己的显式命令行选项进行指定,例如 --username--password。在提供连接字符串的同时使用显式选项并指定冲突信息会导致错误。

注意

如果在Ubuntu 18.04上使用 mongoexport,当使用带有 SRV连接字符串(形式为 mongodb+srv://)的 --uri 选项时,您可能会遇到 cannot unmarshal DNS 错误信息。如果是这样,请尝试以下选项之一

  • 使用带有 --uri 选项的非SRV连接字符串(形式为 mongodb://

  • 使用 --host 选项直接指定要连接的主机

警告

在某些系统上,使用 --uri 选项提供的密码可能会被系统状态程序(如 ps)看到,这些程序可能由其他用户调用。考虑以下替代方案

  • 在连接字符串中省略密码以接收交互式密码提示,或者

  • 使用 --config 选项指定包含密码的配置文件。

--host=<hostname><:port>, -h=<hostname><:port>

默认值: localhost:27017

指定MongoDB部署的可解析主机名。默认情况下,mongoexport尝试连接到运行在本机上的MongoDB实例,端口号为27017

要连接到副本集,指定 replSetName 和副本集成员的种子列表,如下所示

--host=<replSetName>/<hostname1><:port>,<hostname2><:port>,<...>

当指定副本集列表格式时,mongoexport始终连接到 主节点。

您也可以通过指定副本集中的单个成员的主机和端口来连接到该成员

--host=<hostname1><:port>

如果您使用IPv6并且使用 <address>:<port> 格式,必须在地址和端口号组合的部分加上括号(例如 [<address>])。

此外,您也可以直接在URI连接字符串中指定主机名。在使用--host的同时提供连接字符串并指定冲突信息将导致错误。

--port=<端口号>

默认值: 27017

指定MongoDB实例监听客户端连接的TCP端口。

此外,您也可以直接在URI连接字符串中指定端口。在使用--port的同时提供连接字符串并指定冲突信息将导致错误。

--ssl

启用与启用了TLS/SSL支持的mongodmongos的连接。

此外,您也可以直接在URI连接字符串中配置TLS/SSL支持。在使用--ssl的同时提供连接字符串并指定冲突信息将导致错误。

有关TLS/SSL和MongoDB的更多信息,请参阅为mongod和mongos配置TLS/SSL客户端TLS/SSL配置。

--sslCAFile=<filename>

指定包含证书颁发机构根证书链的 .pem 文件。使用相对路径或绝对路径指定 .pem 文件名。

或者,您也可以在 URI 连接字符串 中直接指定 .pem 文件。在使用 --sslCAFile 并指定冲突信息时,将会导致错误。

有关TLS/SSL和MongoDB的更多信息,请参阅为mongod和mongos配置TLS/SSL客户端TLS/SSL配置。

--sslPEMKeyFile=<filename>

指定包含 TLS/SSL 证书和私钥的 .pem 文件。使用相对路径或绝对路径指定 .pem 文件名。

当使用 --ssl 选项连接到启用了 CAFile 而未启用 allowConnectionsWithoutCertificatesmongodmongos 时,此选项是必需的。

或者,您也可以直接在 URI 连接字符串 中指定 .pem 文件。如果同时使用 --sslPEMKeyFile 并指定冲突信息,将会导致错误。

有关TLS/SSL和MongoDB的更多信息,请参阅为mongod和mongos配置TLS/SSL客户端TLS/SSL配置。

--sslPEMKeyPassword=<value>

指定解密证书密钥文件的密码(即 --sslPEMKeyFile)。只有在证书密钥文件被加密的情况下才使用 --sslPEMKeyPassword 选项。在所有情况下,mongoexport 都将从所有日志和报告输出中删除密码。

如果 PEM 文件中的私钥被加密并且您没有指定 --sslPEMKeyPassword 选项,mongoexport 将会提示输入口令短语。参见 TLS/SSL 证书口令短语。

或者,您也可以直接在 URI 连接字符串 中指定密码。如果同时使用 --sslPEMKeyPassword 并指定冲突信息,将会导致错误。

有关TLS/SSL和MongoDB的更多信息,请参阅为mongod和mongos配置TLS/SSL客户端TLS/SSL配置。

警告

在某些系统上,使用--sslPEMKeyPassword--sslPEMKeyPassword选项直接提供的密码可能对系统状态程序(如ps)可见,这些程序可能由其他用户调用。请考虑使用--config--config选项来指定包含密码的配置文件。

--sslCRLFile=<filename>

指定包含证书吊销列表的.pem文件。使用相对路径或绝对路径指定.pem文件的文件名。

有关TLS/SSL和MongoDB的更多信息,请参阅为mongod和mongos配置TLS/SSL客户端TLS/SSL配置。

--sslAllowInvalidCertificates

绕过服务器证书的验证检查,允许使用无效证书。当使用allowInvalidCertificatesallowInvalidCertificates设置时,MongoDB将记录无效证书的使用情况作为警告。

警告

虽然此选项可用,但在可能的情况下应避免使用--sslAllowInvalidCertificates选项。如果必须使用--sslAllowInvalidCertificates,则仅在无法入侵的系统上使用此选项。

在没有验证服务器证书的情况下连接到 mongodmongos 实例可能存在安全风险。如果您只想禁用 TLS/SSL 证书中主机名的验证,请参阅 --sslAllowInvalidHostnames

或者,您也可以在 URI 连接字符串 中直接禁用证书验证。在同时使用 --sslAllowInvalidCertificates 并指定冲突信息时提供连接字符串将导致错误。

有关TLS/SSL和MongoDB的更多信息,请参阅为mongod和mongos配置TLS/SSL客户端TLS/SSL配置。

--sslAllowInvalidHostnames

禁用 TLS/SSL 证书中主机名的验证。允许 mongoexport 连接到 MongoDB 实例,即使它们的证书中的主机名与指定的主机名不匹配。

或者,您也可以在 URI 连接字符串 中直接禁用主机名验证。在同时使用 --sslAllowInvalidHostnames 并指定冲突信息时提供连接字符串将导致错误。

有关TLS/SSL和MongoDB的更多信息,请参阅为mongod和mongos配置TLS/SSL客户端TLS/SSL配置。

--username=<username>, -u=<username>

指定用于验证连接到使用身份验证的 MongoDB 数据库的用户名。与 --password--authenticationDatabase 选项一起使用。

或者,您也可以直接在URI连接字符串中指定用户名。在同时使用--username并指定冲突信息时,将导致错误。

如果您使用MONGODB-AWS 认证机制连接到MongoDB Atlas集群,可以在

  • 此字段中指定您的AWS访问密钥ID,

  • 连接字符串中,或者

  • AWS_ACCESS_KEY_ID环境变量中。

有关每个示例的详细信息,请参阅使用AWS IAM凭据连接到MongoDB Atlas集群

--password=<password>, -p=<password>

指定用于认证使用认证的MongoDB数据库的密码。与--username--authenticationDatabase选项一起使用。

要提示用户输入密码,请使用不带--password--username选项,或者将空字符串指定为--password的值,例如--password ""

或者,您也可以直接在URI连接字符串中指定密码。同时提供连接字符串并使用--password指定冲突信息将导致错误。

如果您使用MONGODB-AWS 认证机制连接到MongoDB Atlas集群,您可以在

  • 此字段中指定您的AWS访问密钥ID,

  • 连接字符串中,或者

  • 环境变量 AWS_SECRET_ACCESS_KEY

有关每个示例的详细信息,请参阅使用AWS IAM凭据连接到MongoDB Atlas集群

警告

在某些系统上,直接使用 --password 选项提供的密码可能会被系统状态程序(如 ps)看到,这些程序可能被其他用户调用。考虑改为

  • 省略 --password 选项以接收交互式密码提示,或者

  • 使用 --config 选项指定包含密码的配置文件。

--awsSessionToken=<AWS Session Token>

如果使用 MONGODB-AWS 认证机制 连接到 MongoDB Atlas 集群,并且除了您的 AWS 访问密钥 ID 和秘密访问密钥外还使用会话令牌,您可以在

  • 此字段中指定您的AWS访问密钥ID,

  • 连接字符串的 authMechanismProperties 参数中指定您的 AWS 会话令牌,或者在

  • 环境变量 AWS_SESSION_TOKEN 中。

有关每个示例的详细信息,请参阅使用AWS IAM凭据连接到MongoDB Atlas集群

仅在使用 MONGODB-AWS 认证机制 时有效。

--authenticationDatabase=<dbname>

指定了已创建指定 --username 的认证数据库。参见 认证数据库。

如果您没有指定身份验证数据库,mongoexport 将假定用于导出的数据库包含用户的凭证。

如果您使用的是 GSSAPI(Kerberos)、PLAIN(LDAP SASL)或 MONGODB-AWS 身份验证机制,您必须将 --authenticationDatabase 设置为 $external

或者,您也可以在 URI 连接字符串 中直接指定身份验证数据库。同时提供连接字符串并使用 --authenticationDatabase 并指定冲突信息将导致错误。

--authenticationMechanism=<name>

默认值:SCRAM-SHA-1

指定 mongoexport 实例用于认证到 mongodmongos 的身份验证机制。

变更在版本100.1.0: 从版本 100.1.0 开始,mongoexport 在连接到 MongoDB Atlas 集群时添加了对 MONGODB-AWS 身份验证机制的支持。

描述

RFC 7677 标准盐值挑战响应身份验证机制,使用SHA-256散列函数。

需要将featureCompatibilityVersion设置为4.0

MongoDB TLS/SSL证书身份验证。
MONGODB-AWS

使用AWS IAM凭证进行外部身份验证,用于连接到MongoDB Atlas集群。请参阅使用AWS IAM凭证连接到MongoDB Atlas集群

在版本100.1.0.

GSSAPI(Kerberos)
使用Kerberos进行外部身份验证。此机制仅在MongoDB Enterprise.中可用。
PLAIN(LDAP SASL)
使用LDAP进行外部身份验证。您还可以使用PLAIN对数据库内用户进行身份验证。PLAIN以明文形式传输密码。此机制仅在MongoDB Enterprise.中可用。

或者,您也可以直接在URI连接字符串中指定身份验证机制。如果同时使用--authenticationMechanism和指定冲突信息,将会导致错误。

--gssapiServiceName=<serviceName>

使用GSSAPI/Kerberos指定服务名称。仅在服务不使用默认名称mongodb时需要。

此选项仅在MongoDB Enterprise中可用。

--gssapiHostName=<hostname>

使用 GSSAPI/Kerberos指定服务的主机名。仅在机器的主机名与DNS解析的主机名不匹配时才需要。

此选项仅在MongoDB Enterprise中可用。

--db=<database>, -d=<database>

指定在哪个数据库上运行mongoexport

或者,您也可以直接在URI连接字符串中指定数据库。在提供连接字符串的同时使用--db并指定冲突信息将导致错误。

--collection=<collection>, -c=<collection>

指定要导出的集合。

--fields=<field1[,field2]>, -f=<field1[,field2]>

指定要包含在导出中的字段。使用逗号分隔的字段列表来指定多个字段。

如果您的字段名称包含空格,请使用引号将字段列表括起来。例如,如果您想导出两个字段,phoneuser number,则应指定 --fields "phone,user number"

对于 csv 输出格式,mongoexport 仅包含指定的字段,并且指定的字段可以是子文档中的字段。

对于 JSON 输出格式,mongoexport 仅包含指定的字段 `_id` 字段,并且如果指定的字段是子文档中的字段,则 mongoexport 会包含包含所有字段的子文档,而不仅仅是文档中指定的字段。

请参阅:[使用 --fields 选项以 CSV 格式导出数据](/docs/database-tools/mongoexport/mongoexport-examples/#std-label-mongoexport-fields-example) 以获取示例用法。

--fieldFile=<filename>

--fields 的替代方法。使用 --fieldFile 选项可以在文件中指定要包含在导出中的字段,并且仅在具有值 csv--type 选项时有效。该文件必须每行只有一个字段,并且行必须以 LF 字符(0x0A)结束。

mongoexport 仅包含指定的字段。指定的字段可以是子文档中的字段。

请参阅使用文件指定CSV格式的导出字段的示例用法。

--query=<JSON>, -q=<JSON>

提供一个作为JSON文档(用引号括起来)的查询,以在导出中返回匹配的文档。

您必须用单引号('{ ... }')将查询文档括起来,以确保它不会与您的shell环境交互。

查询必须扩展JSON v2格式(宽松或规范/严格模式),包括用引号括起来的字段名和运算符

例如,给定数据库test中名为records的集合,包含以下文档

{ "_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") }

以下mongoexport使用-q选项导出字段a大于或等于($gte3且字段date小于($ltISODate("2016-01-01T00:00:00Z")的文档,其中日期使用扩展JSON v2格式(宽松模式){ "$date": "YYYY-MM-DDTHH:mm:ss.mmm<offset>"})指定

mongoexport -d=test -c=records -q='{ "a": { "$gte": 3 }, "date": { "$lt": { "$date": "2016-01-01T00:00:00.000Z" } } }' --out=exportdir/myRecords.json

生成的文件包含以下文档

{"_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"}}

您可以使用--sort选项对mongoexport的结果进行排序。

--queryFile=<filename>

--query的替代方案。使用--queryFile选项,您可以在文件中指定查询,该文件使用扩展JSON v2格式

--type=<string>

默认值: json

指定要导出的文件类型。指定csv用于CSV格式,或指定json用于JSON格式。

如果指定了csv,则还必须使用--fields--fieldFile选项来声明要从中导出的字段。

--out=<文件>, -o=<文件>

指定写入导出数据的文件。如果不指定文件名,则 mongoexport 将数据写入标准输出(例如 stdout)。

--jsonFormat=<规范|宽松>

默认值: 宽松

修改输出以使用 MongoDB 扩展 JSON(v2)格式的规范或宽松模式。

关于规范模式和宽松模式之间的区别,请参阅 MongoDB 扩展 JSON(v2)。

--jsonArray

修改 mongoexport 的输出,将其导出的整个内容写入一个单独的 JSON 数组中。默认情况下,mongoexport 使用每个 MongoDB 文档一个 JSON 文档的方式写入数据。

--pretty

以美观打印的格式输出文档为 JSON。

--noHeaderLine

默认情况下,mongoexport 将导出的字段名作为 CSV 输出的第一行。使用 --noHeaderLine 选项,mongoexport 将导出数据而不包含字段名列表。 --noHeaderLine 仅与具有值 csv--type 选项一起使用。

有关示例用法,请参阅 从 CSV 输出中排除字段名

--readPreference=<字符串|文档>

默认值primary

指定 mongoexport读取首选项。选项 --readPreference 可以取以下值:

  • 如果只指定读取首选项模式,则为一个字符串

    --readPreference=secondary
  • 一个引用包围的文档,用于指定模式、可选的 读取首选项标记集 和可选的 maxStalenessSeconds:

    --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ], maxStalenessSeconds: 120}'

    如果指定 maxStalenessSeconds,则值必须大于或等于 90。

mongoexport 默认为 primary 读取首选项

如果读取首选项也包含在 --uri 连接字符串 中,则命令行 --readPreference 会覆盖 URI 字符串中指定的读取首选项。

--skip=<数字>

使用 --skip 控制从哪里开始 mongoexport 导出文档。有关底层操作的详细信息,请参阅 skip()

--limit=<number>

指定要包含在导出中的最大文档数。有关底层操作的详细信息,请参阅 limit()

--sort=<JSON>

指定导出结果的排序顺序。如果不存在可以支持排序操作索引,则结果必须小于32兆字节。

结合使用 --sort--skip--limit 限制导出文档的数量。

mongoexport -d=test -c=records --sort='{a: 1}' --limit=100 --out=export.0.json
mongoexport -d=test -c=records --sort='{a: 1}' --limit=100 --skip=100 --out=export.1.json
mongoexport -d=test -c=records --sort='{a: 1}' --limit=100 --skip=200 --out=export.2.json

有关底层操作的详细信息,请参阅 sort()

返回

示例