是否可以在MongoDB中获得最大大小的上限集合,与创建时指定的大小相同?
答案 0 :(得分:2)
在V2.6之前,您可以通过
获取它db.system.namespaces.findOne({name : namespace}).options.size;
// namesapce : <db>.<collection>
对于V2.6 +(我在V2.6.4上测试),你只能获得EXTENT_SIZE的整数倍。
returnSize = Math.ceil(specifiedSize / EXTENT_SIZE) * EXTENT_SIZE
// for example, returnsize = Math.ceil(1 / 4096) * 4096 = 4096
答案 1 :(得分:0)
db.collectioname.stats()
会给你最大尺寸。它总是256的倍数
> db.createCollection( "log_cap2", { capped: true, size: 7500 } )
{“ok”:1} &GT;
db.log_cap2.stats() { “ns”:“test.log_cap2”, “大小”:0, “数”:0, “storageSize”:4096, “上限”:是的, “max”: - 1, “maxSize”:7680,
即使你把尺寸设为7500,它也会分配256的倍数
256 * 29 = 7424 256 * 30 = 7680