MongoDB中的个人记录有多大?
我有一个250MB的上限大小的集合,由于某种原因,它几乎不能容纳260个文档。我的文档包含正常的日志记录数据,我估计不会超过150Kb ...我的每个文档最多可以达到300KB但是它真的很顺利。
任何人都可以启发我关于mongo的内部运作吗?
更新: 我用Object.bsonsize检查了一些体面的填充文档,它们显示“60”(我假设是KB)。那为什么mongo会让每个文件的大小都是1mb?
Upadte 2: 我现在已经确认问题是使用gem我正在使用“central_db_logger”来处理ruby。它似乎是用某种缓冲区来推动文档。我不确定如何或为什么。但添加自己的文档我已经添加了数千,而central_Db_logger似乎添加了非常大的文档,覆盖了我的测试文档。
答案 0 :(得分:2)
您在创建收藏集时是否设置了max
或size
?
这将创建一个字节限制的上限集合:
db.createCollection("mycoll", {capped:true, size:100000});
这将创建一个文档计数AND字节限制的上限集合:
db.createCollection("mycoll", {capped:true, size:100000, max:100});
如果您将max
设置为250,那么您肯定不会收到260份文件。