为了减少我现有的集合大小,我从集合中的文档中删除了一些不需要的字段。在我运行收集统计信息以检查大小之前和之后,它从未改变过。 我遗漏了一些东西(比如更新任何东西)以反映我的统计数据减少的尺寸,请给我建议。 我在我的本地PC上运行它,没有任何其他节点。 谢谢。
答案 0 :(得分:4)
这是正确的行为。 mongo释放磁盘空间的唯一时间是删除数据库或进行修复。 (see here)
更漂亮的解释here
基本上,除非您丢弃数据库或进行修复,否则mongodb会保留已分配的任何空间。这样做是因为增加空间效率不高,耗时。所以一旦它拥有它,它会保留它并使用创建的空白区域,直到没有剩下的空白区域,然后它会变得更多。