node.js経由でmongoose(@ 2.7.1、mongo v2.0.6)で上限付きコレクションを作成しようとしています。
テスト ケースを作成するために、マングースのドキュメントから基本的なコードをコピーしました。
var schema = new Schema({'test':String},{capped:1024});
var model = api.db.model('testcapped',schema);
var data = new model({'test': 'value'});
data.save();
これはエラーなしで実行されます。ただし、その後mongoシェルを使用すると...
> db.testcappeds.isCapped();
false
一方、node.js でこれを行うと、次のように動作します。
model.db.db.executeDbCommand({'convertToCapped': 'testcappeds', size: 1024}, function(e,d){});
つまり、「convertToCapped」コマンドを直接呼び出す mongoose をバイパスすることは正常に機能していますが、mongoose はコレクションを正しくキャッピングしていません。
何か不足していますか?作業コードでコレクションを手動で制限する必要がありますか、それともパフォーマンスのオーバーヘッドが追加されますか?