2017-09-26 1 views
0

コレクション内のレコードのセットを指定した時間間隔後に削除する必要があるケースがあります。 例:10時間より古いレコードは10時間ごとに削除されます。MongoDBのコレクション内のレコードを分割する

私はidに基づいて削除しようとしましたが、速度が遅いことがわかりました。

コレクション内のレコードを分割し、モンゴで必要なときに

答えて

0

のMongoDBは、現在のパーティションをサポートしていないとして、パーティションを削除する方法はあり、(SERVER-2097)機能としてこれを追加するJIRAのチケットがあります。

複数の時間ベースのコレクションを活用して、パーティションを作成するのと同じ方法でコレクションを循環させることが1つの解決策です。典型的には、これらの時間ベースのコレクションのうちの1つまたはいくつかだけを照会するときに、これを実行します。多くの場合、複数のコレクションを読み込む必要がある場合は、単純化するためにラッパーコードを追加することができます。

また、TTL Indexesもあります。これは、mongodサーバーのバックグラウンドスレッドを活用して削除を処理します。

あなたの_idによる削除は、さまざまな理由により低速であった可能性があり、元の質問よりも多くの調査が必要となる可能性があります。

関連する問題