Parse.com一次呼叫中的多个计数查询

时间:2014-07-01 10:29:23

标签: android parse-platform

我正在使用parse.com为我的应用程序进行数据存储等... 我有一个简单的问题,当用户打开我的应用程序时,他们被定向到他们的仪表板,在他们的仪表板中有一个显示数据的饼图。我在解析一个类,其中颜色是属性,有6种不同的颜色。

我想在饼图中显示颜色值,即6个红色,3个黄色,2个蓝色等。我通过谷歌研究了这个,并提出了这个https://www.parse.com/questions/can-i-manage-multiple-count-queries-in-a-single-call,表明它不可能但是,在一次通话中有多个计数查询,这是2年前发布的,我想知道一个。如果从那以后有任何进展,那么b。如果不是最好的方法是什么。

如果我进行6次不同的通话,并且我必须等到第6次计数查询后才显示饼图,那么可能会有一些延迟对用户体验不利。

如果有人对此有任何提示,我会很感激

1 个答案:

答案 0 :(得分:7)

我建议创建一个Cloud Code Function来并行查询计数,并在一个响应中返回结果。我已经在使用Parse的项目上成功使用了它。

这样的事情:

Parse.Cloud.define("dashboard", function(request, response) {
    // create each query and start it
    var red = new Parse.Query("A").equalTo("colour", "red").count();
    var blue = new Parse.Query("A").equalTo("colour", "blue").count();

    // wait for them all to complete using Parse.Promise.when()
    // result order will match the order passed to when()
    Parse.Promise.when(red, blue).then(function(countOfRed, countOfBlue) {
        response.success({
            red: countOfRed,
            blue: countOfBlue
        });
    });
});