我真的不知道如何描述它为什么会发生,或者如何重现它。我有一种从外部站点下载一些数据并将其保存到文档的方法。如果我稍后查找该文件(例如:通过查找),它就消失了。
如果我在控制台中并且我将对象分配给变量,我可以通过该变量访问数据,但.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
}
答案 0 :(得分:1)
可能存在很多不同的问题,但最有可能的是你达到了配额。您可以在MongoLab UI中查看每个不同存储统计信息的说明。 storageSize和fileSize接近配额这一事实意味着如果你没有达到它就接近你。
无论问题的根源是什么,您都应该确保使用安全模式。通过驱动程序使用新的MongoClient method of creating connections时,这是默认设置。它会在移动之前检查错误,而在过去这不是默认行为。服务器很有可能返回错误(当你达到配额时会发生错误)但是驱动程序没有检查它。
与往常一样,您可以直接在support@mongolab.com上写信给我们,我们非常乐意为您提供帮助!