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

mongoexport行为、访问和用法

本页内容

  • 行为
  • 所需访问权限
  • 了解更多

警告

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

从MongoDB 5.0开始,文档字段名可以以美元字符($)开头,并可以包含点字符(.)。然而,mongoimportmongoexport 无法处理使用这些字符的字段名称。

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

使用 mongoimportmongoexport 与字段名称中的(.)也存在限制。由于 CSV 文件使用(.)来表示数据层次结构,字段名称中的(.)将被错误地解释为嵌套级别。

如果您需要在执行完整实例备份时保留所有丰富的 BSON 数据类型,请确保在 mongoexport 中指定 扩展 JSON v2.0 (规范模式)--jsonFormat 选项,如下所示

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

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

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

mongoexport 会自动创建与配置为使用 FIPS 模式的 mongod/mongos 的 FIPS 兼容连接。

默认情况下,mongoexport 使用 primary 读取优先级。要覆盖默认设置,您可以在 --readPreference 命令行选项或 --uri 连接字符串中指定读取优先级。

如果您在URI字符串中指定了读取偏好,并使用--readPreference,则--readPreference的值将覆盖URI字符串中指定的读取偏好。

mongoexport需要目标数据库的读取访问权限。

请确保连接用户至少具有目标数据库中的read角色。

当连接到强制执行身份验证mongodmongos时,请根据配置的身份验证机制使用所需的安全参数。

返回

兼容性与安装