平均サイズが 20K の大量のドキュメント (300K+) を CSV または JSON にエクスポートしようとしています。
Mongoexport は、CSV の場合は 20 分以上、JSON の場合は 10 分以上かかります。
Javascript printjson() を使用すると、さらに悪化します。
PyMongo は約 5 分かかります
他の提案はありますか?
CSV にエクスポートする推奨される方法はmongoexport
、より高速な方法があるとは思えません。また、6 GB のデータを読み込んでから、ディスクに 6 GB のデータを書き込んでいることも理解する必要があります。だから私はこれが一瞬で起こるとは思っていません。
このすべてのテキストを画面に出力する必要があるため、printjson の動作は非常に遅くなります。
問題は、なぜこれを行うのかということです。ある DB から別の DB にデータをコピーする場合はdb.copyDatabase()があり、バックアップを作成する場合はmongodump / mongorestore が適しています。
PS mongo はスキーマレスなので、csv にエクスポートするときに必要なフィールドを指定する必要があります。これにより、JSON に変換する場合と比較して、この余分な時間が追加されると思います。