2015-06-03 137 views
0

我们有一个坐在600GB的MongoDB。我们删除了大量文件,并希望缩小它,我们将其修复到2TB的驱动器上。复制一个MongoDB记录的记录

它跑了几个小时,最终耗尽了2TB空间。当我看着修复目录时,它创建了比原始数据库更多的文件?

无论如何,我试图寻找替代选择。我的第一个想法是创建一个新的MongoDB,并将每一行从旧的复制到新的。有没有可能做到这一点,最快的方法是什么?

回答

0

我有很多成功的在使用db.copyDatabase命令复制数据库:

链接MongoDB的copyDatabase

我也用MongoVUE,这是很容易从复制数据库软件一个位置到另一个位置 - MonogoVUE(这是在monogo之上的图形界面)。

如果你有copyDatabase没有运气,我可以建议你尝试转储和数据库还原到一个外部文件,像mongodumplvcreate

这里是备份一个完整的读取和还原它应该让你复制数据库很容易:http://docs.mongodb.org/manual/core/backups/

+0

我想知道,是否copyDatabase函数复制记录的记录,通过删除未使用的空间有效地压缩数据库? –

+0

copyDatabase将复制你的集合,安装mongoVUE,这使得它很容易复制和选择你想要复制的集合。一般来说,这非常简单,如果你愿意,你甚至可以提供一个收藏列表。然而,你想要达到的目标是什么? –

+0

我想修复数据库只是为了恢复一些空间,但修复没有完成。 –