C:\Users\duansf>mongo
MongoDB shell version: 2.6.6
connecting to: test
> use test
switched to db test
> show collections
articles
books
chenfeng
dsf
fs.chunks
fs.files
system.indexes
system.profile
test
users
> db.books.drop();
true
>
删除books这个collection,但是查看数据文件发现大小不变,MongoDB不会自动释放文件空间
db.repairDatabase() //执行这个命令后,Mongodb会把不需要的空间释放出来
> db.repairDatabase()
{ "ok" : 1 }
>
注意:repairDatabase期间会产生锁,建议关闭应用后再进行此操作
官方文档对这个命令的解释如下:
repairDatabase requires free disk space equal to the size of your current data set plus 2 gigabytes. If the volume that holds dbpath lacks sufficient space,
you can mount a separate volume and use that for the repair. When mounting a separate volume for repairDatabase you must run repairDatabase from the command
line and use the --repairpath switch to specify the folder in which to store temporary repair files.