MongoDB の固定コレクション
MongoDB の Capped Collection は、優れたパフォーマンスと固定サイズのコレクションです。固定サイズの場合、コレクションのスペースが使い果たされると、挿入された要素が元の head 要素を上書きします。
固定コレクションを作成する
createCollection を使用して固定コレクションを作成し、capped オプションを true に設定します:
>db.createCollection("cappedLogCollection",{capped:true,size:10000})
ドキュメントの数と max:1000 属性を指定することもできます:
>db.createCollection("cappedLogCollection",{capped:true,size:10000,max:1000})
Judgeコレクションが固定コレクションかどうか:
>db.cappedLogCollection.isCapped()
既存のコレクションを固定コレクションに変換する必要がある場合は、次のコマンドを使用できます:
>db.runCommand({"convertToCapped":"posts",size:10000})
上記のコードは、既存の投稿コレクションを固定コレクションに変換します。
固定コレクション クエリ
固定コレクション ドキュメントは、デフォルトでは、広告掲載オーダーで返されます。$natural を使用して、返される順序を調整することもできます。
>db.cappedLogCollection.find().sort({$natural:-1})
固定コレクションの機能
挿入と更新は可能ですが、更新はコレクションのサイズを超えることはできません。それ以外の場合、更新は失敗し、削除は許可されません。ただし、drop() を呼び出してすべてを削除することはできます。コレクション内の行ですが、ドロップ後にコレクションを再構築して表示する必要があります。
32 ビット マシンでの上限付きコレクションの最大サイズは、約 482.5M です。64 ビット マシンでは、システム ファイル サイズによってのみ制限されます。
固定コレクションの属性と使用法
属性
属性 1: 固定コレクションへの挿入は非常に高速です
属性 2: 挿入順序でのクエリ出力は非常に高速です
属性 3:挿入する最新のデータを削除し、古いデータを削除
使い方
使い方1: ログ情報を保存
使い方2: 少数のドキュメントをキャッシュ