我有一个node.js应用程序,它将一条记录重复保存到mongodb数据库,如下面的代码示例所示。数据记录的大小实际上是几MB,但在任何时间点,一个集合中只有一条记录。尽管如此,数据库的大小仍在不断增加,直到服务器磁盘空间不足为止。
_db.collection('myCollection', function(err, collection) {
collection.remove({}, function(err, result) {
collection.insert(myData);
});
});
我意识到有更好的方法可以管理这些数据,而且每月只需修复一次数据库就可以解决问题,但我真的好奇为什么mongodb在这种情况下不会自动收回空间。
答案 0 :(得分:1)
解决此问题的一种方法是在集合上设置最大大小...因为它始终只有1条记录。尝试这样的事情:
_db.createCollection("myCollection", {size:100000});
您可以在此处阅读有关MongoDB磁盘使用情况的一些内容:Excessive Disk Space