我正在尝试使用 Mongoose 创建一个有上限的集合,但是以下创建了一个没有上限的集合:
var schema = new mongoose.Schema(
{
Name: { type: String },
Text: { type: String }
},
{
capped: { max: 5, size: 1000000 }
});
我很确定我正确地遵循了文档的示例,但显然我做错了。
我正在尝试使用 Mongoose 创建一个有上限的集合,但是以下创建了一个没有上限的集合:
var schema = new mongoose.Schema(
{
Name: { type: String },
Text: { type: String }
},
{
capped: { max: 5, size: 1000000 }
});
我很确定我正确地遵循了文档的示例,但显然我做错了。
new Schema({..}, { capped: { size: 1024, max: 1000, autoIndexId: true } });
new Schema({..}, { capped: { size: 1024, max: 1000, autoIndexId: true } });
size
是内存中的最大字节数,直到您的数据库没有上限或直到您的旧记录未被删除。max
定义数据库在封顶之前将保存的最大记录数。
无论最大组件如何,您都必须定义尺寸组件。因为如果在达到最大值之前使用您的尺寸,那么就会开始设置上限,反之亦然。
如果非上限集合已经存在,那么您需要使用以下命令将其转换为上限集合。
db.runCommand({"convertToCapped": "collection_name", size: 100000});
然后你就可以将它与猫鼬一起使用了。