0

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 はコレクションを正しくキャッピングしていません。

何か不足していますか?作業コードでコレクションを手動で制限する必要がありますか、それともパフォーマンスのオーバーヘッドが追加されますか?

4

1 に答える 1

2

これらのスライドは、Mongoose2.7.1が上限付きコレクションをまだサポートしていないことを示しています。ネイティブドライバーにドロップダウンしてコレクションの上限を設定するか、最新のマングースにアップグレードすることをお勧めします。

于 2012-10-03T20:00:50.413 に答える