当我们从MongoDB中删除文档或集合时,MongoDB并不会将已经占用了的磁盘空间释放,它会一直维护已经占用了磁盘空间的数据文件,尽管数据文件中可能存在大大小小的空记录列表(empty record list).当客户端程序再次插入文档时,MongoDB会从空记录列表中分配存储空间给新文档.那么为了更加有效的使用磁盘空间,我们需要对mongodb的数据文件做碎片整理以及未使用空间的回收.思想无非两种: 1.对原数据进行重组 2.仅将数据复制出来,形成仅数据的完整备份 以下介绍几种常用的实施方法…