9

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

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

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

4

3 回答 3

7
new Schema({..}, { capped: { size: 1024, max: 1000, autoIndexId: true } });
于 2014-06-15T06:11:03.400 回答
5
new Schema({..}, { capped: { size: 1024, max: 1000, autoIndexId: true } });
  • size是内存中的最大字节数,直到您的数据库没有上限或直到您的旧记录未被删除。
  • max定义数据库在封顶之前将保存的最大记录数。

    无论最大组件如何,您都必须定义尺寸组件。因为如果在达到最大值之前使用您的尺寸,那么就会开始设置上限,反之亦然。

于 2016-12-22T16:32:37.510 回答
0

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

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

然后你就可以将它与猫鼬一起使用了。

于 2020-03-04T04:31:34.257 回答