上限付きコレクションのサイズ変更
バージョン 6.0 で追加。
上限付きコレクションのサイズを変更するには、 collMod
コマンドのcappedSize
オプションを使用します。 cappedSize
はバイト単位で指定され、 より大きく、0
1024^5
以下である必要があります(1 PB )。
cappedSize
が現在のコレクションのサイズより小さい場合、MongoDB は次回の挿入操作で超過ドキュメントを削除します。
このタスクについて
一般的に、 TTL(Time To Live)インデックスは、Cappedコレクションよりも優れたパフォーマンスと柔軟性を提供します。 TTL インデックスは期限切れとなり、日付型フィールドの値とインデックスの TTL 値に基づいて、通常のコレクションからデータを削除します。
Capped コレクションでは書込み操作がシリアル化されるため、それ以外のコレクションよりも同時挿入、更新、削除のパフォーマンスは低くなります。 Capped コレクションを作成する前に、TTL インデックスで代替できないかを検討しましょう。
始める前に
次の方法で、最大サイズが2 、 621 、 440バイトである、 log
という上限付きコレクションを作成します。
db.createCollection( "log", { capped: true, size: 2621440 } )
手順
次のコマンドを実行して、 log
コレクションの最大サイズを5 、 242 、 880バイトに設定します。
db.runCommand( { collMod: "log", cappedSize: 5242880 } )