キャッシュとして使用するコレクションがあります。このコレクション内でドキュメント数を 5M に制限するにはどうすればよいですか。注: キャッシュ アイテムを更新できることは、キャッシュ内に存在します。キャップ付きを使用しようとしましたが、キャップ付きコレクションに保存されたアイテムは変更できません。
それを行う方法はありますか?(アイテムを削除してから更新アイテムを挿入したくない)
キャッシュとして使用するコレクションがあります。このコレクション内でドキュメント数を 5M に制限するにはどうすればよいですか。注: キャッシュ アイテムを更新できることは、キャッシュ内に存在します。キャップ付きを使用しようとしましたが、キャップ付きコレクションに保存されたアイテムは変更できません。
それを行う方法はありますか?(アイテムを削除してから更新アイテムを挿入したくない)
db.createCollection("コレクション名",{capped:true,size:10000,max:1000})
このコマンドは、固定サイズのコレクションを作成するために使用されます。
collectionName : 設定したいコレクションの名前 limit
capped: true (固定サイズのコレクション)
size : コレクションの最大サイズ (バイト単位)
max : 制限なし。ドキュメントの
残念ながら、ここでできることはあまりありません。ご指摘のとおり、キャップされたコレクション内のドキュメントは変更できません。また、ドキュメントで制限を指定することはできません。制限はメガバイト単位であり、IIRC です。
したがって、最善の策は、通常のコレクションを使用して、コレクションのオーバーフローをチェックし、古いドキュメントをクリーンアップする定期的なジョブを実行することです。