mongodb倾覆集合-单个记录大小?
MongoDB中的个人记录有多大 我有一个上限大小为250MB的集合,由于某种原因,它几乎不能容纳260个文档。我的文档包含正常的日志数据,我估计不会超过150Kb。。。我希望每个文档能达到300KB,但这真的太过分了 有人能告诉我mongo的内部运作吗 更新: 我已经用Object.bsonsize检查了一些不规则填充的文档,它们显示为“60”(我假设为KBs)。那么,为什么mongo会将每个文档都设置为1mb大小 Upadte 2:mongodb倾覆集合-单个记录大小?,mongodb,Mongodb,MongoDB中的个人记录有多大 我有一个上限大小为250MB的集合,由于某种原因,它几乎不能容纳260个文档。我的文档包含正常的日志数据,我估计不会超过150Kb。。。我希望每个文档能达到300KB,但这真的太过分了 有人能告诉我mongo的内部运作吗 更新: 我已经用Object.bsonsize检查了一些不规则填充的文档,它们显示为“60”(我假设为KBs)。那么,为什么mongo会将每个文档都设置为1mb大小 Upadte 2: 我现在已经确认问题出在一个gem上,我正在为ruby使用“
我现在已经确认问题出在一个gem上,我正在为ruby使用“central_db_logger”。它似乎在用某种缓冲区推送文档。我不知道怎么做或者为什么。但是添加我自己的文档我已经添加了数千个,而central_Db_logger似乎添加了非常大的文档,覆盖了我的测试文档。您在创建集合时是否设置了
max
或size
这将创建一个字节受限的封顶集合:
db.createCollection("mycoll", {capped:true, size:100000});
db.createCollection("mycoll", {capped:true, size:100000, max:100});
这将创建一个文档计数和字节有限的集合:
db.createCollection("mycoll", {capped:true, size:100000});
db.createCollection("mycoll", {capped:true, size:100000, max:100});
如果您将
max
设置为250,您肯定不会在其中获得260个文档。我在rails的central_db_logger中使用它,根据它的代码,它似乎只使用capped:true,size:。所以它应该只受大小的限制。。。然而,我的平均文档大小是“avgObjSize”:954.2442748091603