首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RavenDB、RavenHQ和Appharbor -第一个文档的文档大小错误

RavenDB、RavenHQ和Appharbor -第一个文档的文档大小错误
EN

Stack Overflow用户
提问于 2012-06-12 18:03:08
回答 1查看 332关注 0票数 2

我有一个完全空的RavenHQ数据库,它链接到我的Appharbor应用程序。数据库当前使用的空间量是1.1mb,而我的铜牌帐户有25mb可用空间。数据库之前在其中有记录,但我已经在管理工作室中使用“删除集合”删除了它们。

在我第一次调用session.Store(myobject)时,在我调用.SaveChanges()之前,我得到了以下错误。

代码语言:javascript
复制
System.InvalidOperationException: Url: "/docs/Raven/Hilo/AccItems"

Raven.Database.Exceptions.OperationVetoedException: PUT vetoed by Raven.Bundles.Quotas.Triggers.DatabaseSizeQoutaForDocumetsPutTrigger because: Database size is 45,347 KB, which is over the allowed quota of 25,600 KB. No more documents are allowed in.

现在,文档肯定没有那么大,所以我不知道这个错误意味着什么,特别是我认为我当时甚至没有命中数据库,因为我还没有通过调用SaveChanges()来关闭会话。有什么想法吗?这是代码本身。

代码语言:javascript
复制
    XDocument doc = XDocument.Parse(rawXml);
    var accItems = ExtractItemsFromFeed(doc);
    using (IDocumentSession session = _store.OpenSession())
    {
        var dbItems = session.Query<AccItem>().ToList();
        foreach (var item in accItems)
        {
            var existingRecord = dbItems.SingleOrDefault(x => x.Source == x.SourceId == cottage.SourceId);
            if (existingRecord == null)
            {
                session.Store(item);
                _logger.Info("Saved new item {0}.", item.ShortName);
            }
            else
            {
                existingRecord.ShortName = item.ShortName;
                _logger.Info("Updated item {0}.", item.ShortName);
            }
            session.SaveChanges();
        }
    }            

关于这段代码风格的任何其他评论都将是最受欢迎的,因为我不确定处理“更新现有项或创建不存在的项”场景的最佳方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-21 23:46:23

这里的答案如下。

RavenHQ支持人员发现数据库确实过大,但在Appharbor品牌的RavenHQ控制面板中报告的大小似乎不正确。我已经用上面发布的代码的前一个错误版本填满了数据库,所以我收到的错误消息实际上是正确的。

在不花钱升级数据库的情况下修复这个问题并不简单,因为不可能缩小数据库。因为我也无法删除我的单一Appharbor/RavenHQ数据库,也无法创建另一个数据库,这让我只能选择创建一个全新的Appharbor应用程序,或者直接向RavenHQ注册一个新帐户。我选择了后者。RavenHQ品牌的控制面板与Appharbor略有不同,因为它具有创建和删除数据库的能力。

所以总结一下:使用RavenHQ作为Appharbor的附加组件似乎没有任何好处--你最好去获取一个适当的免费RavenHQ帐户。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10994380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档