问题描述
我想导出非常大的集合并将它们导入到另一台服务器中的另一个数据库中。我发现至少有两种方法: mongoexport 和 mongodump 。
我搜索了有关此问题的先前文章,但是我没有找到关于使用这两种方式导出文件的速度和导出文件的大小的完整比较/基准! 如果有什么经验可以分享,我将非常感激。
解决方法
中所述
避免对完整实例生产备份使用mongoimport和mongoexport。它们不能可靠地保留所有丰富的BSON数据类型,因为JSON只能表示BSON支持的类型的子集。如MongoDB备份方法中所述,使用mongodump和mongorestore来实现这种功能。
由于需要还原大数据,因此最好使用转储。
mongoexport是一个命令行工具,可对存储在MongoDB实例中的数据进行JSON或CSV导出。
,mongodump是用于创建数据库内容的二进制导出的实用程序。 mongodump可以从mongod或mongos实例中导出数据;即可以从独立,副本集和分片群集部署中导出数据。
一个重要的区别是,出于备份目的,mongodump比mongoexport更快。 Mongodump将数据存储为二进制文件,而mongoexport将数据存储为JSON或CSV。