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.
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.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15498/viewspace-2120383/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15498/viewspace-2120383/
本文介绍如何在MongoDB中删除集合后回收磁盘空间。通过使用db.repairDatabase()命令可以有效回收已删除集合所占用的空间,并提供注意事项及官方文档解释。
1079

被折叠的 条评论
为什么被折叠?



