アプリから履歴系を保存するのに好んでMongoDBを使っています。
サイズを指定しておくと古い方から消えてくれるので履歴に向いている。
バッチ作って消したり、ディスク容量の心配をしなくて良いのがGood!
コレクション操作(名前変更、サイズ指定、サイズ変更)をメモしておきます。
コレクション名を変更する
いずれは削除したいけど、当面は残す場合などに便利です。
下記は「hogehoge」から「hogehoge_bak」へ変更する例です。
use hoge db.hogehoge.renameCollection("hogehoge_bak");
サイズ指定(古いのから削除)でコレクションを作る
Mongoはコレクションを作らなくても、なければ自動で作られるけど、サイズ指定をしたい場合は事前に実施します。
dbs単位での指定は出来なさそうなのが残念。
下記は「hogehoge」を100MBで作る例です。(sizeはバイト単位で指定)
use hoge db.createCollection("hogehoge", {capped:true, size: 100000000});
コレクションのサイズを変更する
既に作ってしまったコレクションのサイズを変更します。
想定よりも早く履歴が消えちゃう場合なんかに便利
下記は「hogehoge」を1GBに変更する例です。(sizeはバイト単位で指定)
use hoge db.runCommand({"convertToCapped": "hogehoge", size: 1000000000});
おまけ:よく使うコマンド
$ mongo
show dbs <- DBS(データベース)一覧 use hoge <- DBS(データベース)切替 show collections <- コレクション(テーブル)一覧 db.hogehoge.find() <- 検索(SELECT) db.hogehoge.drop() <- コレクション(テーブル)削除 db.dropDatabase() <- DBS(データベース)削除