我正在尝试将平均大小为 20K 的大量文档(300K+)导出为 CSV 或 JSON。
对于 CSV,Mongoexport 需要 > 20 分钟,对于 JSON,需要 > 10m。
使用 Javascript printjson() 更糟糕。
PyMongo 大约需要 5 分钟
还有其他建议吗?
导出到 CSV 的推荐方式是mongoexport
,我非常怀疑是否会有更快的方式。此外,您必须了解您正在读取 6GB 的数据,然后将 6GB 的数据写入磁盘。所以我不希望这会在一瞬间发生。
printjson 的行为会慢很多,因为您需要在屏幕上输出所有这些文本。
问题是你为什么要这样做?如果要将数据从一个数据库复制到另一个数据库,则有db.copyDatabase(),如果要创建备份,则 mongodump / mongorestore 更好。
PS mongo 是无模式的,因此您需要在导出到 csv 时指定所需的字段,我认为与转换为 JSON 相比,这会增加额外的时间。