为什么从大型 mongodb 集合中删除文档时索引大小不会减小?

Ang*_*erd 6 mongodb

环境:MongoDB 4.2.7、Centos7

我有一个包含大约 5 亿个文档的集合和大约 8GB 的​​索引。如果我删除一半的文档,我预计索引大小会减少大约 50%。但我不这么认为。为什么不下来呢?有没有办法压缩索引?

为了验证索引应该更小,我将 50% 的文档复制到一个全新的 mongodb 实例并在那里创建索引。该指数确实低了50%左右。

Ang*_*erd 8

好吧,我刚刚找到了我自己问题的答案。MongoDB 实际上有一个紧凑的命令:

https://docs.mongodb.com/manual/reference/command/compact/

这应该重建索引,让我回收可用空间。