mongodump 和 mongoexport 有什么区别?

yog*_*h.j 14 mongodb mongodump

我知道当我们必须在数据库和集合级别进行完整备份时,我们使用 mongodump 但使用 mongodump 我们也可以备份特定记录,那么 mongodump 和 mongoexport 之间有什么区别?

小智 19

mongodump生成数据的二进制副本;它可以创建更好、更高效的备份。

mongoexport可以创建JSON文件;这些可以被其他程序使用,并且基本上是人类可读的。

  • 您的回答对 https://dba.stackexchange.com/a/194373/6219 有何影响? (2认同)

Md *_*han 6

根据 MongoDB BOL Here \nmongodump 是一个用于创建数据库内容的二进制导出的实用程序。mongodump可以从mongodmongos实例导出数据。\nmongodump仅捕获数据库中的文档。生成的备份节省空间。\n默认情况下,mongodump不捕获数据库中的内容local database.

\n

更改version 3.4MongoDB 3.4添加了对只读视图的支持。默认情况下,mongodump仅捕获view\xe2\x80\x99s metadata:它不会创建视图中包含的文档的二进制导出。要捕获视图中的文档,请使用--viewsAsCollections.

\n

其中 MongoDB 文档这里mongoexport 是一个实用程序,可生成存储在 MongoDB 实例中的数据的JSONCSV导出。\n从系统命令行(而不是mongoshell)运行 mongoexport。

\n

mongoexport 所需访问权限

\n
    \n
  1. mongoexport需要对目标数据库进行读取访问。

    \n
  2. \n
  3. 确保连接用户至少拥有目标数据库的读取角色。

    \n
  4. \n
  5. 当连接到强制身份验证的mongod或 时mongos,\n请确保您使用基于\n 的所需安全参数configured authentication mechanism

    \n
  6. \n
\n

另外,请注意

\n
\n

警告:避免使用mongoimportmongoexport进行完整实例生产备份。它们不能可靠地保留所有丰富的 BSON 数据类型,因为 JSON 只能表示 BSON 支持的类型的子集。使用mongodumpmongorestore(如MongoDB 备份方法) \n来实现此类功能。

\n
\n

不过,MongoDB 4.4 文档中不存在此类警告。

\n