node.js - Mongolab "quota exceeded"虽然我几乎没有达到最大允许大小的一半

标签 node.js mongodb express

我正在为一个业余比赛项目运行沙盒数据库。这是我第一次这样做,我犯了一个错误,就是等到所有事情都完成后再将我将通过 MapReduce 操作分析的所有记录上传到我的数据库。

问题:我想我可能搞砸了,因为我已经想通了,但是当我勉强达到最大允许大小的一半时(即 500MB,我有一个 320MB 的集合和一个 7KB 的集合),我开始收到“超出配额”错误,代码 12501。这是什么?

请帮帮我,这是明天要交的

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

最佳答案

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

您可以通过运行压缩命令来减小数据库文件的大小:

db.runCommand ( { compact: '<collection>' } )

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

在 MongoDB 配置文件中添加以下行:

smallfiles=true

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

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

/var/lib/mongodb/journal/中的所有文件在 mongodb 启动时重新创建。

关于node.js - Mongolab "quota exceeded"虽然我几乎没有达到最大允许大小的一半,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29709824/

相关文章:

node.js - socket.io 无法连接到服务器

javascript - Node Telegraf 回调按钮

java - 在实体声明中使用 Hibernate OGM 和 MongoDB 时出现异常

javascript - Mongoose 模式内的相同模式

javascript - 在 Express 中包含库或外部样式表

node.js - "streams and pipe-capable"在 NodeJS 的 pkgcloud 中意味着什么

node.js - Node.js 中的 LRU 缓存

mongodb - 有没有办法限制特定集合中的记录数量

node.js - 使用 Gmail API 从 Express 端点响应 JSON 对象

javascript - 404 错误, 'get' 从本地托管服务器获取请求