首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >减小MongoDB数据库文件大小

减小MongoDB数据库文件大小
EN

Stack Overflow用户
提问于 2010-06-03 22:05:38
回答 10查看 139.1K关注 0票数 172

我有一个MongoDB数据库,它曾经很大(>3 3GB)。从那时起,文档已被删除,我预计数据库文件的大小会相应减小。

但由于MongoDB保留了已分配的空间,因此文件仍然很大。

我到处看到管理命令mongod --repair用于释放未使用的空间,但磁盘上没有足够的空间来运行此命令。

你知道有什么方法可以让我腾出不用的空间吗?

EN

回答 10

Stack Overflow用户

发布于 2011-08-18 03:21:39

看起来Mongo v1.9+已经支持这个协议了!

代码语言:javascript
复制
> db.runCommand( { compact : 'mycollectionname' } )

请参阅此处的文档:http://docs.mongodb.org/manual/reference/command/compact/

与repairDatabase不同,compact命令不需要双倍的磁盘空间来完成其工作。它在工作时确实需要少量的额外空间。此外,compact命令速度更快。

票数 40
EN

Stack Overflow用户

发布于 2013-04-04 10:00:52

我也遇到了同样的问题,只需在命令行执行以下操作即可解决:

代码语言:javascript
复制
mongodump -d databasename
echo 'db.dropDatabase()' | mongo databasename
mongorestore dump/databasename
票数 39
EN

Stack Overflow用户

发布于 2014-07-13 21:14:19

压缩当前数据库中的所有集合

代码语言:javascript
复制
db.getCollectionNames().forEach(function (collectionName) {
    print('Compacting: ' + collectionName);
    db.runCommand({ compact: collectionName });
});
票数 25
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2966687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档