我使用的是MongoDB的Sandbox(版本:3.2.12)数据库,部署在mLab上。添加/插入记录时我有一个奇怪的问题(来自shell和应用程序)。
我没有为数据库文件设置任何配额限制。
错误讯息:
"错误消息:超出配额错误代码:12501“
但我在数据库中有足够的内存,我可以在“xyz”集合中添加/插入其他集合中的记录。
但是,我已经从" xyz"中删除了一些记录。收集以释放内存并再次尝试插入记录。例如。删除了集合中的2条记录,之后只插入了2条记录。
我可以在配额中添加更多文件,如果是,如何?
有没有办法调试这个?或者没有丢弃数据库的任何其他解决方案?
答案 0 :(得分:1)
请尝试修复您的数据库。
有时,有必要压缩数据库以回收磁盘空间(例如,您是否迅速达到存储限制?)和/或减少碎片。压缩数据库时,实际上是在减小其文件大小。
紧凑型沙箱和单节点计划部署
如果您使用的是沙盒计划或单节点计划,并且想尝试 回收磁盘空间,您可以使用MongoDB的repairDatabase命令。
如果您的文件大小或“磁盘大小”小于1.5 GB,则可以运行此文件 通过访问您的页面直接通过我们的用户界面修复命令 数据库,单击下一步的“工具”选项卡,然后选择 下拉列表中的“ repairDatabase”。否则,您可以运行 使用db.repairDatabase()命令连接到数据库后 mongo shell。
https://docs.mlab.com/ops/#compacting
repairDatabase命令是一项阻止操作。在修复完成之前,您的数据库将不可用。
大约需要20到30秒。