我有一个上限集合。当我调用stats()时,我得到以下输出:
/* 0 */
{
"ns" : "log_db.access_logs",
"count" : 42088,
"size" : 13602632,
"avgObjSize" : 323,
"storageSize" : 100003840,
"numExtents" : 1,
"nindexes" : 2,
"lastExtentSize" : 100003840,
"paddingFactor" : 1,
"systemFlags" : 1,
"userFlags" : 0,
"totalIndexSize" : 3932656,
"indexSizes" : {
"_id_" : 1389920,
"apikey_1_ts_1" : 2542736
},
"capped" : true,
"max" : NumberLong(9223372036854775807),
"ok" : 1
}
我不知道'max'参数显示的是什么。我使用db.runCommand('convertToCapped'...)构造创建了这个集合,我把'size'参数设置为1亿。但是这里没有提到它(大小)
有人可以在这里解释'max'字段的含义,以及如何找到上限集合的正确大小。
答案 0 :(得分:1)
我有一次这个确切的问题,因为它不在文档中,这是我从10gen(MongoDB Inc)员工mongodb capped collection is not using all available space得到的答案:
max属性是封顶集合中允许的(可选)最大文档数(请参阅db.createCollection())。如果未指定最大值,则将其设置为MAXINT(在您的示例中,为已签名的Int64的最大正值)。由于封顶集合的空间始终是预分配的,因此大小限制优先于最大文档数。