尽pipe我几乎没有达到我允许的最大尺寸的一半,蒙古拉布“超过配额”

我正在为一个比赛的业余项目运行一个沙箱数据库。 这是我第一次这样做,而且我犯了一个错误,等到所有事情完成之后,才把上传到我的数据库的所有logging通过MapReduce操作分析。

问题:我想我可能已经搞砸了,因为我弄明白了,但是当我几乎没有达到我允许的最大大小(500MB,我有一个320MB的集合和一个7KB的大小)的一半时,我开始变得“配额超过“错误,代码12501.这是什么?

请帮助我,明天到期

统计: http ://i.imgur.com/r58nIgg.png fileSize似乎差不多是500MB,但已经有这么一段时间了,还是上传了,我觉得是某种分配的空间。 我不能使用他们声称免费提供的整个磁盘空间,这有什么意义呢?

MongoDB预先分配数据文件,并可能预分配日志文件。 您可以通过禁用日志文件来减less此空间,尽pipe在生产系统上不build议这样做。

您可以通过运行compact命令来减less数据库文件大小:

db.runCommand({compact:''})

您可以按如下方式禁用日志文件:

在MongoDBconfiguration文件中添加以下行:

smallfiles=true 

然后closuresMongoDB并使用以下步骤删除日志文件:

 sudo cp -p /etc/mongodb.conf /etc/mongodb.conf.orig sudo vi /etc/mongodb.conf sudo service mongodb stop sudo rm -rf /var/lib/mongodb/journal/* sudo service mongodb start 

当mongodb启动时,/ var / lib / mongodb / journal /中的所有文件都会被重新创build。