Docs 菜单
Docs 主页
/
MongoDB 数据库工具
/

mongoimport 行为、访问权限和使用情况

在此页面上

  • 行为
  • 必需的访问权限
  • 了解详情

警告

数据导入和导出与 ($) 和 (.) 冲突

从MongoDB 5.0开始,文档字段名称可以以美元字符 ( $ ) 作为前缀,并且可以包含句点字符 ( . )。 但是, mongoimportmongoexport不适用于使用这些字符的字段名称。

MongoDB 扩展 JSON v2 无法区分类型包装器和恰好与类型包装器同名的字段。在相应的 BSON 表示法可能包含 ($) 前缀键时,请不要使用扩展 JSON 格式。DBRef 机制是该一般规则的例外。

在字段名称中使用 mongoimportmongoexport 以及 (.) 也有限制。由于 CSV 文件使用 (.) 表示数据层次结构,因此字段名称中的 (.) 将被误解为嵌套级别。

如果在使用 mongoexport 执行完整实例备份时需要保留所有丰富的 BSON 数据类型,请务必将 Extended JSON v2.0(规范模式)指定为 --jsonFormat 选项以进行 mongoexport,方式如下:

mongoexport --jsonFormat=canonical --collection=<coll> <connection-string>

如果未指定 --jsonFormat,则 mongoexport 默认以扩展 JSON v2.0(宽松模式)输出数据。

mongoimport 将在还原时自动使用指定目标数据文件中的 JSON 格式。例如,如果目标数据导出文件是由 mongoexport 创建且指定了 --jsonFormat=canonical,那么它会使用扩展 JSON v2.0(规范模式)

mongoimport 要求导入数据默认采用扩展 JSON v2.0(规范)扩展 JSON v2.0(宽松)格式。对于使用扩展 JSON v1.0 格式化的导入数据,指定 --legacy 选项。

提示

一般来说,mongoexportmongoimport 的版本应该一致。也就是说,要导入从 mongoexport 创建的数据,应使用相应版本的 mongoimport

默认, mongoimport可能会按随机顺序插入文档。 要在恢复进程保持文档顺序,请使用--maintainInsertionOrder

mongoimport 只支持 UTF-8 编码的数据文件。 使用其他编码会产生错误。

mongoimport 自动创建与 配置为使用 FIPS 模式 的mongod / 的符合mongos FIPS 标准的连接。

如果在 --writeConcern 选项和 --uri connection string 选项中都指定了写关注,则 --writeConcern 值将覆盖 URI 字符串中指定的写关注。

mongoimport 使用最大批处理大小 100,000 来执行大批量插入/更新或插入操作。

要连接到通过 --auth 选项执行授权的 mongod,必须使用 --username--password 选项。连接用户在他们要导入数据的数据库上必须至少具有 readWrite 角色。

后退

兼容性与安装