【发布时间】:2012-06-14 22:00:20
【问题描述】:
我有一个 node.js 应用程序,它重复地将单个记录保存到 mongodb 数据库,如下面的代码示例所示。数据记录实际上有几 MB 大小,但在任何时间点,一个集合中只有一条记录。尽管如此,数据库的大小还是会不断增加,直到服务器磁盘空间不足。
_db.collection('myCollection', function(err, collection) {
collection.remove({}, function(err, result) {
collection.insert(myData);
});
});
我意识到有更好的方法来管理这些数据,只需每月修复几次数据库就可以解决问题,但我真的很好奇为什么 mongodb 在这种情况下不会自动回收空间。
【问题讨论】:
-
这是重现错误的示例代码(在我看来就是这样)还是您只是拒绝使用更适合这种情况的
update? -
两者,真的。该应用程序曾经在集合中保留多个记录,但我将其减少到此。我想知道这里是否真的存在一个错误(功能),或者我是否缺少关于 mongodb 应该如何工作的东西。