MongoDB官方提供了两套数据导入导出工具:
一般来说,进行整库导出导入时使用mongodump和mongorestore,这一对组合操作的数据是BSON格式,进行大量dump和restore时效率较高。
进行单个集合导出导入时使用mongoexport和mongoimport,这一对组合操作的数据是JSON格式,可读性较高。
mongodump 是 MongoDB 官方提供的备份工具,它可以从 MongoDB 数据库读取数据,并生成 BSON 文件。
mongodump 适合用于备份和恢复数据量较小的 MongoDB 数据库,不适用于大数据量备份。
默认情况下 mongodump 不获取 local 数据库里面的内容。
mongodump 仅备份数据库中的文档,不备份索引,索引信息会单独导出,所以我们还原后,需要重新生成索引。
mongodump是一个用于导出二进制数据库内容的实用工具,它导出的bson文档中只会包含着集合文档等信息,不包括索引信息(索引信息会单独导出),所以还原后,索引必须重建(这个不用担心,使用mongorestore会自动重建mongodump生成的索引信息)。
mongodump从 MongoDB 数据库(BSON 格式)创建数据的二进制导出。
索引定义备份在 <dbname>.metadata.json 中文件,所以 mongorestore可以重新创建原始数据和索引。
实际索引不能用mongodump备份的主要原因有两个 :
索引指向数据文件中的位置。如果您仅导出数据文件中的文档(而不是获取数据文件的完整文件副本),则数据文件不存在。
磁盘上的索引格式是存储引擎特定的,而 mongodump旨在独立于存储引擎。
如果您想对数据和索引进行完整备份,则需要 backup by copying the underlying data files (通常通过使用文件系统或 EBS 快照)。这是大型部署的更常见选项,如 mongodump需要将所有数据读入 mongod进程(如果您的数据库大于内存,它将驱逐您的一些工作集)。

mongodump 备份过程中会对 mongod 服务的性能产生影响,我们建议在业务低峰期进行操作。
如果我们备份的数据,大于系统内存,我们备份的时候容易出现错误。
在执行 mongodump 的时候,mongod 服务还是可以提供服务的,可以进行修改数据,如果我们在备份的时候加上参数 --oplog 的话,那么 oplog 是会记录这一次操作的,如果我们想在 restore 的时候也有日志记录,我们可以使用 mongorestore --oplogReplay 进行恢复。

参考
MongoDB 逻辑备份工具mongodump
https://www.cnblogs.com/dbabd/p/13139556.html
MongoDB备份工具mongodump的使用
https://www.cnblogs.com/yaoxing/p/mongodb-backup-rules.html
MongoDB 用户角色、CRUD和逻辑备份还原
https://www.cnblogs.com/dbabd/tag/MongoDB/
从独立到副本集的mongorestore
https://www.it1352.com/1636979.html
MongoDB数据库的备份、还原、导入及导出
https://java.isture.com/db/mongodb/operation/MongoDB%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F%E5%AF%BC%E5%85%A5%E5%8F%8A%E5%AF%BC%E5%87%BA.html#mongodb数据库的备份、还原、导入及导出
mongoDB 备份 还原 导出 导入
http://blog.51yip.com/nosql/1573.html
mongodb - 为什么mongodump不备份索引?
https://www.coder.work/article/37860
https://stackoverflow.com/questions/36854566/why-mongodump-does-not-backup-indexes
MongoDB 备份与还原 mongodump、mongorestore
https://www.cnblogs.com/operationhome/p/10724374.html
MongoDB备份(mongodump)与恢复(mongorestore)工具实践
https://zhuanlan.zhihu.com/p/344790069
网友评论