【问题标题】:MongoDB database growth with only one recordMongoDB数据库增长只有一条记录
【发布时间】: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 应该如何工作的东西。

标签: node.js mongodb


【解决方案1】:

解决此问题的一种方法是为您的收藏设置最大大小...因为它始终只有 1 条记录。试试这样的:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-04
    • 1970-01-01
    • 1970-01-01
    • 2020-01-27
    • 2021-09-01
    • 1970-01-01
    相关资源
    最近更新 更多