我正在尝试使用Mongoose创建一个上限集合,但是下面创建了一个没有上限的集合:
var schema = new mongoose.Schema(
{
Name: { type: String },
Text: { type: String }
},
{
capped: { max: 5, size: 1000000 }
});
我很确定我正在正确地遵循文档的示例,但显然我做错了。
答案 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});
然后您就可以将其与猫鼬一起使用。