如何使用mongoose创建上限集合?

时间:2012-10-18 05:41:22

标签: collections mongoose

我正在尝试使用Mongoose创建一个上限集合,但是下面创建了一个没有上限的集合:

var schema = new mongoose.Schema(
{
    Name: { type: String },
    Text: { type: String }
},
{
    capped: { max: 5, size: 1000000 }
});

我很确定我正在正确地遵循文档的示例,但显然我做错了。

3 个答案:

答案 0 :(得分:6)

new Schema({..}, { capped: { size: 1024, max: 1000, autoIndexId: true } });

答案 1 :(得分:2)

new Schema({..}, { capped: { size: 1024, max: 1000, autoIndexId: true } });
  • size是内存中的最大字节数,您的数据库没有上限,或者您的旧记录未被删除。
  • max定义数据库在加盖之前将保留的最大记录数。

    您必须定义尺寸组件,而不考虑最大组件。 因为如果你的尺寸在达到最大值之前使用,那么封顶会开始,反之亦然。

答案 2 :(得分:0)

如果已经存在非上限集合,则需要使用以下命令将其转换为上限集合。

db.runCommand({"convertToCapped": "collection_name", size: 100000});

然后您就可以将其与猫鼬一起使用。