我正在尝试通过node.js在mongoose(@ 2.7.1,mongo v2.0.6)中创建一个上限集合。
我copied the basic code from the mongoose documentation创建了一个测试用例:
var schema = new Schema({'test':String},{capped:1024});
var model = api.db.model('testcapped',schema);
var data = new model({'test': 'value'});
data.save();
执行时没有错误。 但是,当我随后使用mongo shell时......
> db.testcappeds.isCapped();
false
另一方面,如果我在node.js中这样做,它可以工作:
model.db.db.executeDbCommand({'convertToCapped': 'testcappeds', size: 1024}, function(e,d){});
换句话说,绕过直接调用“convertToCapped”命令的mongoose成功运行,但是mongoose没有正确地限制集合。
我错过了什么吗?我应该只使用工作代码手动限制集合,还是会增加性能开销?