0

我正在尝试通过 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 没有正确地对集合进行封盖。

我错过了什么吗?我应该只使用工作代码手动限制集合,还是会增加性能开销?

4

1 回答 1

2

这些幻灯片表明 Mongoose 2.7.1 还不支持上限集合。我建议要么进入本机驱动程序以使集合上限,要么升级到最新的 Mongoose。

于 2012-10-03T20:00:50.413 回答