如何获得1000多个结果解析

vis*_*kar 3 javascript cloud parse-platform

我有一个有时会返回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);  
        }
    });
Run Code Online (Sandbox Code Playgroud)

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

Tec*_*oid 5

我目前正在使用此代码。这可以获取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);
Run Code Online (Sandbox Code Playgroud)