0

我有一个 node.js 应用程序,它将一条记录重复保存到 mongodb 数据库中,如下面的代码示例所示。数据记录实际上有几 MB 大小,但在任何时间点,一个集合中只有一条记录。尽管如此,数据库的大小仍会不断增加,直到服务器磁盘空间不足。

_db.collection('myCollection', function(err, collection) {
  collection.remove({}, function(err, result) {
    collection.insert(myData);
  });
});

我意识到有更好的方法来管理这些数据,只需每月修复几次数据库就可以解决问题,但我真的很好奇为什么 mongodb 在这种情况下不会自动回收空间。

4

1 回答 1

1

解决此问题的一种方法是为您的集合设置最大大小......因为它总是只有 1 条记录。尝试这样的事情:

_db.createCollection("myCollection", {size:100000});

您可以在此处阅读有关 MongoDB 磁盘使用情况的一些信息:Excessive Disk Space

于 2012-06-15T04:05:50.313 回答