我正在尝试通过 node.js 在 mongoose(@2.7.1,mongo v2.0.6)中创建一个上限集合。
我已经从 mongoose 文档中复制了基本代码来创建一个测试用例:
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){});
换句话说,绕过 mongoose 直接调用“convertToCapped”命令是成功的,但是 mongoose 没有正确地对集合进行封盖。
我错过了什么吗?我应该只使用工作代码手动限制集合,还是会增加性能开销?