How to reclaiming deleted space without `db.repairDatabase()`?
mongodb
Solution
Update: With WiredTiger, `compact` does free space.
The original answer to this question is here: Reducing MongoDB database file size
There really is nothing outside of `repair` that will reclaim space. The `compact` should allow you to go much longer on the existing space. Otherwise, you will have to migrate to a bigger drive.
One way to do this is to use an off-line secondary from your Replica Set. This should give you a whole maintenance window to migrate, repair, move back and bring back up.
If you are not running a Replica Set, it's time to look at doing just that.
Problem
I want to shrink data files size by reclaiming deleted space, but I can't run `db.repairDatabase()`, because free disk space is not enough.