如何获得超过1000个结果Parse

时间:2014-09-05 14:18:13

标签: javascript parse-platform cloud

我有一个云代码,有时返回超过1000个结果,我没有得到如何链接查询以获得以下代码中的1000多个结果。

var User = Parse.Object.extend("Journal");
    var mainQuery = new Parse.Query(User);

    mainQuery.equalTo("user",username);     


    mainQuery.limit(1000);
    mainQuery.find({ 
        success: function(results) {
          count = 0;
          var avg = 0;

         console.log("self:"+results.length);
            for(j = 0; j < results.length ; j++)
            {
                var entry = results[j];

                if(strcmp1(day,"All") != 0)
                {
                    var dt = entry.get("created");

                    var weekDay = dt.getDay();
                    if(weekDay == day)
                    {
                       total += entry.get("Level");
                       count++;
                    }
                }
                else
                {
                    total += entry.get("Level");
                    count++;
                }
            }

            if(count > 1)
              avg = total / count;

            response.success(avg);  
        }
    });

limit函数用于提高默认限制100,即每个查询结果返回周期最多1000个。

1 个答案:

答案 0 :(得分:4)

我目前正在使用此代码。这可以获取超过1000个结果。 值根据“objectId”排序。您可以通过相应更改根据“createdAt”进行排序。 最终结果存储在结果数组

      var result = [];
      var processCallback = function(res) {
                result = result.concat(res);
                if (res.length == 1000) {
                  process(res[res.length-1].id);
                  return;
                }   
                    //To print all the ids
                    for(var i=0;i<result.length;i++){
                        console.log(result[i].id);
                    }
                }

        var process = function(skip) {
            var query = new Parse.Query("ObjectName");

            if (skip) {
              query.greaterThan("objectId", skip);
            }
            query.limit(1000);
            query.ascending("objectId");
            query.find().then(function querySuccess(res) {
              processCallback(res);
            }, function queryFailed(error) {
                });
          }
      process(false);