Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

コレクションを上限付きに変換する

項目一覧

  • このタスクについて
  • 始める前に
  • 手順
  • コレクションを Capped コレクションに変換する
  • コレクションが上限付きであることを確認する
  • 詳細

Capped 以外のコレクションを Capped コレクションに変換するには、 convertToCappedデータベースコマンドを使用します。

convertToCappedコマンドは、操作している間、データベースの排他ロックを保持します。 同じデータベースをロックする他の操作は、 convertToCapped操作が完了するまでブロックされます。

一般的に、 TTL(Time To Live)インデックスは、Cappedコレクションよりも優れたパフォーマンスと柔軟性を提供します。 TTL インデックスは期限切れとなり、日付型フィールドの値とインデックスの TTL 値に基づいて、通常のコレクションからデータを削除します。

Capped コレクションでは書込み操作がシリアル化されるため、それ以外のコレクションよりも同時挿入、更新、削除のパフォーマンスは低くなります。 Capped コレクションを作成する前に、TTL インデックスで代替できないかを検討しましょう。

log2という上限のないコレクションを作成します。

db.createCollection("log2")
1

log2コレクションを Capped コレクションに変換するには、 convertToCappedコマンドを実行します。

db.runCommand( {
convertToCapped: "log2",
size: 100000
} )

log2コレクションの最大サイズは100 、 000バイトです。

2

log2コレクションが上限付きになったことを確認するには、 isCapped()メソッドを使用します。

db.log2.isCapped()
true

戻る

確認する