mongodb drop不释放磁盘空间
点击(此处)折叠或打开
- use demodb //使用demodb,以下假设操作的collection是foo
- db.foo.remove({"id":"123456"}) //删除一条数据
- db.foo.remove() //删除foo中的所有记录,但是foo还存在,show collection还可以看到foo
- db.foo.drop() //删除foo这个collection,(show collection已经看不到foo了)但是查看数据文件发现大小不变,Mongodb不会自动释放文件空间
- db.repairDatabase() //执行这个命令后,Mongodb会把不需要的空间释放出来
db.repairDatabase()修复时一定要停掉读写,并且mongodb要有备机才可以,不然千万不要随便使用。
在修复过程中如果出现非正常的mongodb的挂掉,再次启动时启动不了,需要先修复,修复可能要花费很长的时间。
mongod --repair --dbpath=/var/lib/mongodb