1

テスト目的でステージングサーバーにコピーするサブセットをダンプしたい大規模なMongoコレクションがあります。このコレクションには、GridFSファイルのObjectIDであるフィールドが含まれています。mongodumpの--queryフラグを使用してコレクションのサブセットを簡単に取得できますが、メインコレクション内の一致するレコードによって参照されるGridFSファイルとチャンクだけをダンプする簡単な方法もわかりません。これを達成するための最も苦痛の少ない方法は何でしょうか?

(Mongoのコマンドラインツールのみを使用してエクスポートを実行する簡単な方法がない場合は特に驚かないので、その場合は、プログラムでエクスポートを実行する方法にも興味がありますが、 mongorestoreなどの標準ツールを使用してインポートできる出力。Pythonのmongoドライバーは、私が最も快適なものですが、気になりません。)

4

1 に答える 1

2

現在、これを行うための組み込み機能はありません。最適なオプションは、Python スクリプトを作成することです。

mongodump を使用しないことをお勧めします。元のサーバーから読み取り、ステージング サーバーに挿入する Python スクリプトを記述します。各 gridfs ファイルのドキュメント レベルで実行している場合は、最初にチャンクを実行し、次にファイル doc を実行します。python gridfs クラスを使用している場合は、元のサーバーから読み取り、ステージング サーバーに保存するだけです。

PyMongo GridFSのドキュメント を参照してください。

于 2012-07-25T13:02:21.163 に答える