文件意外地删除了mongoid rails

时间:2013-01-05 07:54:10

标签: ruby-on-rails mongodb heroku mongoid

我真的不知道如何描述它为什么会发生,或者如何重现它。我有一种从外部站点下载一些数据并将其保存到文档的方法。如果我稍后查找该文件(例如:通过查找),它就消失了。

如果我在控制台中并且我将对象分配给变量,我可以通过该变量访问数据,但.find将找不到它,而Collection.count则少一个。< / p>

为什么会发生这种情况?有什么想法吗?

这是使用mongolab在heroku上托管的。我想也许数据库空间不足,但统计页面似乎表明不是这样。

我读错了吗?这是db.stats()输出:

{
  "serverUsed": "A_URL_HERE",
  "db": "DB_NAME_HERE",
  "collections": 11,
  "objects": 116295,
  "avgObjSize": 3300.993611075283,
  "dataSize": 383889052,
  "storageSize": 474427392,
  "numExtents": 49,
  "indexes": 9,
  "indexSize": 4259696,
  "fileSize": 520093696,
  "nsSizeMB": 16,
  "ok": 1
}

1 个答案:

答案 0 :(得分:1)

可能存在很多不同的问题,但最有可能的是你达到了配额。您可以在MongoLab UI中查看每个不同存储统计信息的说明。 storageSize和fileSize接近配额这一事实意味着如果你没有达到它就接近你。

无论问题的根源是什么,您都应该确保使用安全模式。通过驱动程序使用新的MongoClient method of creating connections时,这是默认设置。它会在移动之前检查错误,而在过去这不是默认行为。服务器很有可能返回错误(当你达到配额时会发生错误)但是驱动程序没有检查它。

与往常一样,您可以直接在support@mongolab.com上写信给我们,我们非常乐意为您提供帮助!