Mongodb 无法修复大小为的数据库

Mongodb 无法修复大小为的数据库,mongodb,Mongodb,我有一个MongoDB集合,它填满了我机器上的整个硬盘,我只想删除它并回收硬盘空间 我已使用db.getCollection(“collection”).drop()删除了该集合,但当我尝试运行db.repairDatabase()回收磁盘空间时,它失败,出现错误: 无法修复大小为的数据库测试:。。。因为没有可用的磁盘空间 是: 有没有办法在不清除并重新创建我的Mongo服务器设置的情况下收回硬盘空间?如果您想清除所有数据以回收磁盘空间,数据库中没有您关心的其他集合,您可以直接删除数据库,这样将

我有一个MongoDB集合,它填满了我机器上的整个硬盘,我只想删除它并回收硬盘空间

我已使用
db.getCollection(“collection”).drop()
删除了该集合,但当我尝试运行
db.repairDatabase()
回收磁盘空间时,它失败,出现错误:

无法修复大小为的数据库测试:。。。因为没有可用的磁盘空间 是:


有没有办法在不清除并重新创建我的Mongo服务器设置的情况下收回硬盘空间?

如果您想清除所有数据以回收磁盘空间,数据库中没有您关心的其他集合,您可以直接删除数据库,这样将删除所有数据文件,从而释放空间

use <database name>
db.dropDatabase()
使用
db.dropDatabase()

假设您在本地计算机上执行此操作。您是否尝试进入mongodb存储所有数据的数据目录并删除文件夹本身。@LalitAgarwal安全吗?。。只是删除数据文件夹?我不关心数据,我现在只是用MongoDB测试,可以扔掉集合。在这种情况下,只需运行以下命令:mongo--quiet--eval'db.getMongo().getDBNames().forEach(函数(I){db.getSiblingDB(I.dropDatabase()}),这正是我需要的。谢谢。在我的情况下,这是可行的,但如果磁盘已满,您只想从单个集合中移除并回收空间,那么似乎还没有真正的解决方案。对于不同的问题,有不同的解决方案…:)