mongorestore
本文档适用于mongorestore
的版本100.10.0
。
摘要
mongorestore
程序可以从以下任一来源加载数据:由 mongodump
创建的二进制数据库转储或标准输入到 mongod
或 mongos
实例。
您可以将由 mongodump
生成的 BSON 文件恢复到运行与源部署相同主要版本或功能兼容版本的 MongoDB 部署中。
从系统命令行运行 mongorestore
,而不是从 mongo
脚本。
MongoDB 不支持同时运行多个相同的 mongorestore
程序以对同一集合进行操作。
重要
您不能使用具有可查询加密的集合与 mongorestore
。
您可以使用 MongoDB 数据库工具从自托管部署迁移到 MongoDB Atlas。MongoDB Atlas 是云中 MongoDB 部署的全托管服务。有关更多信息,请参阅使用 mongorestore 集成。
有关迁移到 MongoDB Atlas 的所有方法,请参阅迁移或导入数据。
语法
mongorestore
语法
mongorestore <options> <connection-string> <directory or file to restore>
例如,要将 dump
目录恢复到运行在端口 27017
上的本地 mongod
实例
mongorestore dump/
当 mongorestore
从 dump/
目录恢复时,它会根据需要创建数据库和集合,并记录其进度
2019-07-08T14:37:38.942-0400 preparing collections to restore from 2019-07-08T14:37:38.944-0400 reading metadata for test.bakesales from dump/test/bakesales.metadata.json 2019-07-08T14:37:38.944-0400 reading metadata for test.salaries from dump/test/salaries.metadata.json 2019-07-08T14:37:38.976-0400 restoring test.salaries from dump/test/salaries.bson 2019-07-08T14:37:38.985-0400 no indexes to restore 2019-07-08T14:37:38.985-0400 finished restoring test.salaries (10 documents, 0 failures) 2019-07-08T14:37:39.009-0400 restoring test.bakesales from dump/test/bakesales.bson 2019-07-08T14:37:39.011-0400 restoring indexes for collection test.bakesales from metadata 2019-07-08T14:37:39.118-0400 finished restoring test.bakesales (21 documents, 0 failures) 2019-07-08T14:37:39.118-0400 restoring users from dump/admin/system.users.bson 2019-07-08T14:37:39.163-0400 restoring roles from dump/admin/system.roles.bson 2019-07-08T14:37:39.249-0400 31 document(s) restored successfully. 0 document(s) failed to restore.
您还可以从 dump/
目录恢复特定的集合或多个集合。例如,以下操作从 dump/
目录的相应数据文件中恢复单个集合
mongorestore --nsInclude=test.purchaseorders dump/
如果 dump/
目录不包含指定命名空间的对应数据文件,则不会恢复任何数据。例如,以下指定了一个在 dump/
目录中没有对应数据的集合命名空间
mongorestore --nsInclude=foo.bar dump/
mongorestore
会输出以下信息
2019-07-08T14:38:15.142-0400 preparing collections to restore from 2019-07-08T14:38:15.142-0400 0 document(s) restored successfully. 0 document(s) failed to restore.
有关更多示例,请参阅 mongorestore 示例。
选项
--config=<filename>
新增在版本100.3.0.
指定包含以下选项敏感值的YAML配置文件的完整路径,这些选项用于
mongorestore
这是指定
mongorestore
密码的推荐方式,除了通过密码提示指定之外。配置文件采用以下形式
password: <password> uri: mongodb://mongodb0.example.com:27017 sslPEMKeyPassword: <password> 指定
password:
字段中的密码,并在uri:
字段中提供包含冲突密码的连接字符串,将导致错误。请确保使用适当的文件系统权限保护此文件。
注意
如果您使用
--config
指定配置文件,并且还使用--password
、--uri
或--sslPEMKeyPassword
选项对mongorestore
进行操作,则每个命令行选项将覆盖配置文件中相应的选项。
--uri=<connectionString>
指定MongoDB部署的可解析URI连接字符串,用引号括起来
--uri="mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]" 从
mongorestore
版本100.0
开始,连接字符串可以作为一个位置参数提供,无需使用--uri
选项mongorestore mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] 作为一个位置参数,连接字符串可以指定在命令行的任何位置,只要它以
mongodb://
或mongodb+srv://
开头。例如mongorestore --username joe --password secret1 mongodb://mongodb0.example.com:27017 --ssl 只能提供一个连接字符串。如果尝试包含多个连接字符串,无论是使用
--uri
选项还是作为位置参数,将会导致错误。有关连接字符串组件的信息,请参阅 连接字符串 URI 格式 文档。
注意
连接字符串中的某些组件可以使用它们自己的显式命令行选项来指定,例如
--username
和--password
。在提供连接字符串的同时使用显式选项并指定冲突信息将导致错误。注意
如果在 Ubuntu 18.04 上使用
mongorestore
,当使用--uri
选项和 SRV 连接字符串(形式为mongodb+srv://
)时,可能会遇到cannot unmarshal DNS
错误信息。如果是这样,请尝试以下选项之一使用
--uri
选项和一个 非 SRV 连接字符串(形式为mongodb://
)使用
--host
选项直接指定要连接的主机
--host=<hostname><:port>, -h=<hostname><:port>
默认值: localhost:27017
指定MongoDB部署的解析主机名。默认情况下,
mongorestore
尝试连接到运行在本机上的MongoDB实例,端口号为27017
。要连接到副本集,请指定
replSetName
和副本集成员的种子列表,如下所示--host=<replSetName>/<hostname1><:port>,<hostname2><:port>,<...> 在指定副本集列表格式时,
mongorestore
始终连接到主节点。您还可以通过指定副本集成员的宿主机和端口号来连接到该成员的任何单个成员
--host=<hostname1><:port> 如果您使用IPv6并且使用
<address>:<port>
格式,必须将地址和端口号组合的部分放在括号中(例如[<address>]
)。或者,您还可以直接在
URI连接字符串
中指定主机名。当使用--host
和指定冲突信息的同时提供连接字符串时,将导致错误。
--port=<port>
默认值: 27017
指定MongoDB实例监听客户端连接的TCP端口。
或者,您还可以直接在
URI连接字符串
中指定端口号。当使用--port
和指定冲突信息的同时提供连接字符串时,将导致错误。
--ssl
启用与已启用TLS/SSL支持的
mongod
或mongos
的连接。或者,您也可以直接在
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
但未启用allowConnectionsWithoutCertificates
的mongod
或mongos
时,此选项是必需的。或者,您也可以在
URI连接字符串
中直接指定.pem
文件。在同时使用--sslPEMKeyFile
和指定冲突信息的情况下提供连接字符串会导致错误。有关TLS/SSL和MongoDB的更多信息,请参阅配置mongod和mongos以使用TLS/SSL和客户端的TLS/SSL配置。
--sslPEMKeyPassword=<value>
指定解密证书私钥文件的密码(即
--sslPEMKeyFile
)。只有当证书私钥文件被加密时才使用--sslPEMKeyPassword
选项。在任何情况下,mongorestore
都会从所有日志和报告输出中删除密码。如果PEM文件中的私钥被加密且您未指定
--sslPEMKeyPassword
选项,则mongorestore
将提示输入密钥短语。请参阅TLS/SSL证书密钥短语。或者,您也可以直接在
URI连接字符串
中指定密码。在同时使用--sslPEMKeyPassword
并指定冲突信息时,将导致错误。有关TLS/SSL和MongoDB的更多信息,请参阅配置mongod和mongos以使用TLS/SSL和客户端的TLS/SSL配置。
警告
在某些系统上,使用
--sslPEMKeyPassword
选项直接提供的密码可能会被系统状态程序(如ps
)看到,这些程序可能被其他用户调用。考虑使用--config
选项指定包含密码的配置文件。
--sslCRLFile=<filename>
指定包含证书吊销列表的
.pem
文件。使用相对或绝对路径指定.pem
文件的文件名。有关TLS/SSL和MongoDB的更多信息,请参阅配置mongod和mongos以使用TLS/SSL和客户端的TLS/SSL配置。
--sslAllowInvalidCertificates
绕过服务器证书的验证检查,允许使用无效证书。当使用
allowInvalidCertificates
设置时,MongoDB会将使用无效证书的情况记录为警告。警告
或者,您也可以直接在
URI连接字符串
中禁用证书验证。当提供连接字符串同时使用--sslAllowInvalidCertificates
并指定冲突信息时,将导致错误。有关TLS/SSL和MongoDB的更多信息,请参阅配置mongod和mongos以使用TLS/SSL和客户端的TLS/SSL配置。
--sslAllowInvalidHostnames
禁用TLS/SSL证书中的主机名验证。允许
mongorestore
连接到MongoDB实例,即使它们的证书中的主机名与指定的主机名不匹配。或者,您也可以直接在
URI连接字符串
中禁用主机名验证。当提供连接字符串同时使用--sslAllowInvalidHostnames
并指定冲突信息时,将导致错误。有关TLS/SSL和MongoDB的更多信息,请参阅配置mongod和mongos以使用TLS/SSL和客户端的TLS/SSL配置。
--username=<username>, -u=<username>
指定用于认证到使用认证的MongoDB数据库的用户名。与
--password
和--authenticationDatabase
选项一起使用。或者,您也可以直接在
URI连接字符串
中指定用户名。当提供连接字符串同时使用--username
并指定冲突信息时,将导致错误。如果您使用MongoDB Atlas集群并通过
MONGODB-AWS
认证机制
连接,您可以在该字段,
连接字符串(
connection string
),或者环境变量
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 集群,可以在该字段,
连接字符串(
connection string
),或者环境变量
AWS_SECRET_ACCESS_KEY
中指定您的AWS秘密访问密钥。
请参阅使用AWS IAM凭据连接到MongoDB Atlas集群的示例了解每个示例。
警告
在某些系统上,直接使用
--password
选项提供的密码可能对系统状态程序(如ps
)可见,这些程序可能被其他用户调用。考虑省略
--password
选项以接收交互式密码提示,或者使用
--config
选项指定包含密码的配置文件。
--awsSessionToken=<AWS 会话令牌>
如果使用 MongoDB Atlas 集群并通过
MONGODB-AWS
身份验证机制
连接,并且除了 AWS 访问密钥 ID 和密钥之外还使用会话令牌,你可以在请参阅使用AWS IAM凭据连接到MongoDB Atlas集群的示例了解每个示例。
仅在使用
MONGODB-AWS
身份验证机制
时有效。
--authenticationDatabase=<dbname>
指定已创建指定
--username
的身份验证数据库。见 身份验证数据库。如果使用 GSSAPI (Kerberos)、PLAIN (LDAP SASL) 或
MONGODB-AWS
身份验证机制
,则必须将--authenticationDatabase
设置为$external
。另外,您还可以直接在
URI 连接字符串
中指定身份验证数据库。在使用--authenticationDatabase
时提供连接字符串并指定冲突信息将导致错误。
--authenticationMechanism=<name>
默认: SCRAM-SHA-1
指定
mongorestore
实例用于验证mongod
或mongos
的身份验证机制。变更在版本100.1.0: 从版本
100.1.0
开始,mongorestore
在连接到MongoDB Atlas集群时增加了对MONGODB-AWS
身份验证机制的支持。值描述RFC 5802标准使用SHA-1散列函数的加盐挑战响应身份验证机制。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)或者,您也可以直接在
URI连接字符串
中指定认证机制。同时使用--authenticationMechanism
和指定冲突信息时将导致错误。
--gssapiServiceName=<serviceName>
使用 GSSAPI/Kerberos 指定服务名称。如果服务不使用默认名称
mongodb
,则必须指定。此选项仅在 MongoDB 企业版中可用。
--gssapiHostName=<hostname>
使用 GSSAPI/Kerberos 指定服务的主机名。如果机器的主机名与 DNS 解析的主机名不匹配,则需要指定。
此选项仅在 MongoDB 企业版中可用。
--db=<database>, -d=<database>
指定
mongorestore
恢复数据时恢复到的目标数据库。如果数据库不存在,mongorestore
将创建该数据库。例如,以下示例将salaries
集合恢复到reporting
数据库。mongorestore --db=reporting dump/test/salaries.bson 如果不指定
--db
,mongorestore
将从数据文件中读取数据库名。在从目录或存档文件中恢复时,使用
--db
和--collection
选项已被弃用。相反,要恢复存档或目录,请参阅--nsInclude
。
--collection=<collection>, -c=<collection>
指定
mongorestore
恢复数据时应将其恢复到的目标集合名称。如果您未指定--collection
,则mongorestore
从输入文件名中获取集合名称。如果输入文件有扩展名,MongoDB 将从集合名称中省略文件扩展名。mongorestore --db=reporting --collection=employeesalaries dump/test/salaries.bson 在从目录或存档文件中恢复时,使用
--db
和--collection
选项已被弃用。相反,要恢复存档或目录,请参阅--nsInclude
。
--nsExclude=<namespace pattern>
指定一个用于排除匹配命名空间的恢复模式的命名空间模式(例如
"test.myCollection"
,"reporting.*"
,"dept*.bar"
)。在模式中,您可以使用星号*
作为通配符。有关通配符模式的示例,请参阅使用通配符恢复集合。您可以通过多次指定
--nsExclude
来排除多个命名空间模式。如果您同时指定了
--nsExclude
和--nsInclude
,则--nsExclude
指定的模式具有优先权。例如,如果您同时指定了--nsExclude="prod.*"
和--nsInclude="prod.trips"
,则不会恢复prod
命名空间中的任何集合。
--nsInclude=<namespace pattern>
指定一个用于仅恢复匹配模式的命名空间的命名空间模式(例如
"test.myCollection"
,"reporting.*"
,"dept*.bar"
)。在模式中,您可以使用星号*
作为通配符。有关通配符模式的示例,请参阅使用通配符恢复集合。您可以通过多次指定
--nsInclude
来包括多个命名空间模式。如果源目录或文件(即您从中恢复数据的目录/文件)不包含与命名空间模式匹配的数据文件,则不会恢复任何数据。
对于包含非ASCII字符的集合名称,
mongodump
使用百分号编码的名称输出相应的文件名。但是,为了恢复这些集合,请不要使用编码的名称。相反,使用包含非ASCII字符的命名空间。例如,如果转储目录包含
dump/test/caf%C3%A9s.bson
,请指定--nsInclude "test.cafés"
。如果您同时指定了
--nsExclude
和--nsInclude
,则--nsExclude
指定的模式具有优先权。例如,如果您同时指定了--nsExclude="prod.*"
和--nsInclude="prod.trips"
,则不会恢复prod
命名空间中的任何集合。
--nsFrom=<namespace pattern>
与
--nsTo
一起使用,在恢复操作期间重命名 命名空间。--nsFrom
指定备份文件中的集合,而--nsTo
指定在恢复的数据库中使用的名称。--nsFrom
接受一个 命名空间模式 作为其参数。命名空间模式允许--nsFrom
引用与指定模式匹配的任何命名空间。mongorestore
匹配命名空间模式的最小有效出现。对于简单的替换,请使用星号(
*
)作为通配符。转义所有字面量星号和反斜杠。替换与匹配线性对应:--nsFrom
中的每个星号必须对应于--nsTo
中的星号,并且--nsFrom
中的第一个星号与nsTo
中的第一个星号匹配。对于更复杂的替换,请使用美元符号来界定要用于替换的“通配符”变量。 在恢复期间更改集合命名空间 提供了使用美元符号界定通配符的复杂替换示例。
与使用星号的替换不同,使用美元符号界定通配符的替换不需要是线性的。
--nsTo=<namespace pattern>
与
--nsFrom
一起使用,在恢复操作期间重命名命名空间。--nsTo
指定在恢复的数据库中使用的新的集合名称,而--nsFrom
指定在导出文件中的名称。--nsTo
接受一个命名空间模式作为其参数。命名空间模式允许--nsTo
引用与指定模式匹配的任何命名空间。mongorestore
匹配命名空间模式的最小有效出现。对于简单的替换,请使用星号(
*
)作为通配符。转义所有字面量星号和反斜杠。替换与匹配线性对应:--nsFrom
中的每个星号必须对应于--nsTo
中的星号,并且--nsFrom
中的第一个星号与nsTo
中的第一个星号匹配。对于更复杂的替换,请使用美元符号来界定要用于替换的“通配符”变量。 在恢复期间更改集合命名空间 提供了使用美元符号界定通配符的复杂替换示例。
与使用星号的替换不同,使用美元符号界定通配符的替换不需要是线性的。
--objcheck
强制
mongorestore
在收到所有客户端请求后进行验证,以确保客户端永远不会将无效的文档插入到数据库中。对于具有高度嵌套的子文档的对象,--objcheck
可能会对性能产生轻微影响。
--drop
在从备份中还原集合之前,删除目标数据库中的集合。
--drop
不会删除备份中不存在的集合。当还原包含
admin
数据库时,带有--drop
的mongorestore
将删除所有用户凭证,并用备份文件中定义的用户替换它们。因此,在启用了authorization
的系统中,mongorestore
必须能够认证到现有用户 以及 备份文件中定义的用户。如果mongorestore
无法认证到备份文件中定义的用户,还原过程将失败,留下一个空数据库。如果删除并重新创建集合作为还原的一部分,新创建的集合将具有不同的 UUID,除非使用
--drop
与--preserveUUID
。
--preserveUUID
还原的集合使用还原数据的 UUID 而不是为删除并重新创建的集合创建新的 UUID。
要使用
--preserveUUID
,还必须包括--drop
选项。
--oplogReplay
在恢复数据库转储后,从
oplog.bson
文件重新播放 oplog 条目。要应用恢复过程中
oplog.bson
文件中的 oplog 条目,请使用mongorestore --oplogReplay
。您可以将mongodump --oplog
与mongorestore --oplogReplay
结合使用,以确保数据是最新的,并且包含在转储操作期间发生的所有写入。mongorestore
在以下位置搜索任何有效的 bson 文件源转储目录的顶级目录,例如使用
mongodump --oplog
创建的转储。由
--oplogFile
指定的路径。如
<dump-directory>/local/oplog.rs.bson
,在这种情况下,转储local
数据库中的oplog.rs
集合。
如果转储目录顶级目录中存在
oplog.bson
文件,并且指定了--oplogFile
路径,则mongorestore
将返回错误。如果在备份目录的顶层存在一个
oplog.bson
文件,mongorestore
将将其作为 oplog 恢复。如果dump/local
目录中也有 bson 文件,mongorestore
将像正常集合一样恢复它们。如果您使用
--oplogFile
指定 oplog 文件,mongorestore
将将其作为 oplog 恢复。如果dump/local
目录中也有 bson 文件,mongorestore
将像正常集合一样恢复它们。在 oplog 重放输出的以下消息中显示了 oplog 重放之前的插入数量。它不包括重放期间执行的插入。
0 document(s) restored successfully. 0 document(s) failed to restore. 有关
--oplogReplay
的示例,请参阅 使用 Oplog 文件备份和恢复数据。注意
当使用
mongorestore
和--oplogReplay
恢复副本集时,您必须恢复使用mongodump --oplog
创建的 副本集 成员的完整备份。如果使用以下选项之一限制要恢复的数据,带有--oplogReplay
的mongorestore
将失败:
--oplogLimit=<timestamp>
防止
mongorestore
应用时间戳新于或等于<timestamp>
的 oplog 条目。请以<time_t>:<ordinal>
的形式指定<timestamp>
值,其中<time_t>
是自 UNIX 纪元以来的秒数,而<ordinal>
代表在指定秒内发生的操作计数器。警告
请谨慎使用
oplogLimit
:手动指定要应用的oplog条目可能会在恢复的数据中导致损坏和不一致性。您必须与
--oplogReplay
选项一起使用--oplogLimit
。
--oplogFile=<path>
指定包含恢复所需oplog数据的oplog文件的路径。与
--oplogReplay
一起使用。如果您指定了
--oplogFile
并且备份目录顶层存在oplog.bson
文件,则mongorestore
会返回错误。警告
请谨慎使用
oplogFile
:手动指定要应用的oplog条目可能会在恢复的数据中导致损坏和不一致性。
--convertLegacyIndexes
新增在版本100.0.0.
删除在相应的
mongodump
输出中指定的任何无效索引选项,并将任何旧版索引键值重写为有效值。无效的索引选项是指为索引指定的任何选项,这些选项在有效字段列表中未列出,用于
createIndexes
命令。例如,name
和collation
是有效的,但任意的custom_field
不是。如果指定了--convertLegacyIndexes
,则任何无效的索引选项都会被删除。旧版索引键值是指不再支持的任何索引类型的值。例如,
1
和-1
是有效的索引键值,但0
或空字符串是旧版值。如果指定了--convertLegacyIndexes
,则任何旧版索引键值都会重写为1
。非空字符串值不会被替换。
如果没有指定
--convertLegacyIndexes
选项,无效的索引选项或旧版索引键值的存在可能导致索引构建失败。如果为
mongorestore
指定了--noIndexRestore
选项,则忽略--convertLegacyIndexes
选项。
--noIndexRestore
防止
mongorestore
根据相应的mongodump
输出恢复和构建索引。
--restoreDbUsersAndRoles
恢复指定数据库的用户和角色定义。有关更多信息,请参阅 system.roles 集合 和 system.users 集合。
注意
在指定
--db
选项为admin
数据库时,无法使用--restoreDbUsersAndRoles
选项,尝试这样做将导致错误。通过指定--db admin
选项到mongorestore
来恢复admin
数据库已恢复所有用户和角色。
--writeConcern=<document>
默认值: majority
指定
mongorestore
执行的每个写操作的 写关注。指定写关注为一个包含 w 选项 的文档:
--writeConcern="{w:'majority'}" 如果写关注也包含在
--uri
连接字符串中,命令行--writeConcern
将覆盖 URI 字符串中指定的写关注。
--maintainInsertionOrder
默认值: false
如果指定,
mongorestore
将以输入源中文档出现的顺序插入文档。也就是说,既保持了批量写入批次的顺序,也保持了批次内文档的顺序。指定
--maintainInsertionOrder
也启用了--stopOnError
并将numInsertionWorkersPerCollection
设置为 1。如果没有指定,
mongorestore
可能会以任意顺序执行插入操作。
--numParallelCollections=<int>, -j=<int>
默认值: 4
指定
mongorestore
应并行恢复的集合数量。当恢复单个集合时,如果指定了
-j
,则-j
映射到--numInsertionWorkersPerCollection
选项,而不是--numParallelCollections
。
--stopOnError
强制
mongorestore
在遇到错误时停止恢复。默认情况下,当
mongorestore
遇到重复键和文档验证错误时将继续执行。为了确保程序在这些错误上停止,请指定--stopOnError
。
--bypassDocumentValidation
启用
mongorestore
在操作期间跳过 文档验证。这允许您插入不符合验证要求的文档。
--gzip
从由
mongodump --gzip
创建的压缩文件或数据流中恢复。要从包含压缩文件的转储目录中恢复,请使用带有
--gzip
选项的mongorestore
。要从压缩存档文件中恢复,请使用同时带有
--gzip
和--archive
选项的mongorestore
。
--archive=<文件名>
从指定的存档文件恢复,如果未指定文件,则从标准输入(
stdin
)恢复要从存档文件恢复,请在
mongorestore
中使用--archive
选项和存档文件名要从标准输入恢复,请在
mongorestore
中使用--archive
选项,但省略文件名。
注意
您不能将
--archive
选项与--dir
选项一起使用。如果您使用
--archive
选项与<path>
参数一起使用,mongorestore
将忽略<path>
参数。mongorestore
仍然支持使用位置参数-
从标准输入恢复单个集合。
--dir=string
指定导出目录。
您不能同时指定
--dir
选项和<path>
参数,后者也指定了导出目录,并将其传递给mongorestore
。您不能与
--dir
选项一起使用--archive
选项。
--compressors=<string>
指定 MongoDB 服务器与
mongorestore
之间使用的压缩算法。您可以为--compressors
选项使用以下值之一snappy
zlib
zstd
如果您指定了多个压缩算法,
mongorestore
将使用您的 MongoDB 部署支持的列表中的第一个。有关压缩器的更多信息,请参阅 Go 驱动网络压缩文档。