首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ravendb不会返回正确的数字

Ravendb不会返回正确的数字
EN

Stack Overflow用户
提问于 2014-04-15 17:59:03
回答 1查看 57关注 0票数 0

我有一个非常简单的代码,可以使用聚合函数检索一些数据。有些奇怪的是,当我运行localhost项目时,它会返回正确的数字,但当我将其部署到appharbor上时,它总是返回零

下面是我的代码的快照

代码语言:javascript
复制
        var document = new DocumentStore
        {
            ConnectionStringName = "RAVENHQ_CONNECTION_STRING"
        }; 
        document.Initialize();
        var session = document.OpenSession();
        int start = 0;
        long x = 0, y = 0, z = 0, l = 0;
        while (true)
        {
            var data = session.Query<DailyStat>().Take(1024).Skip(start).ToList();
            if (data.Count == 0)
                break;
            x += data.Sum(x => x.a);
            y += data.Sum(x => x.b);
            start += data.Count;
            z += data.Sum(x => x.c);
            l += data.Sum(x => x.d);
        }
        x /= 1000;
        y /= 1000;
        model.x = x.ToString();
        model.y = y.ToString();
        model.z = z.ToString();
        model.l = l.ToString();

当我在本地运行项目时,raven总是返回正确的数字,但是当我在appharbor上部署项目时,数字显示为零。

EN

回答 1

Stack Overflow用户

发布于 2014-04-16 02:21:49

这段代码很糟糕,原因有很多。首先,你不应该做这样的循环。RavenDB限制你从服务器获取的项目数量是有原因的,试图通过在循环中读取东西来解决这个问题只会导致问题。特别是,一旦你的数据足够大,你就会收到来自RavenDB的错误,因为你已经超过了你的配额。

然后,加载所有这些值,以获得总和。但这就是为什么我们有一个map/reduce for。

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

https://stackoverflow.com/questions/23080419

复制
相关文章

相似问题

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