解析云代码迭代结果问题

Parse Cloud Code Iterating Results Issue

我正在使用解析并尝试进行云代码查询来处理此问题:

我想查询一个 table 然后遍历所有结果并检查是否 column1 > column2。我不确定是否有一种方法可以使用查询约束来做到这一点,所以我正在对结果进行 for 循环。

但是我的问题是,当我在我的 iOS 应用程序中 return goodRides 时,我收到此错误:

"JSON text did not start with array or object and option to allow fragments not set."   

如果我 return 结果没有迭代和解析我想要的那些工作正常,所以我不确定我在循环迭代中到底做错了什么。

这是我的代码:

q.find()
    .then(results => {
      var goodRides;
      for(var i = 0; i < results.length; i++)
      {
        if(results[i].get("availableSeats") > results[i].get("occupiedSeats")){
          goodRides.push(results[i]);
        }
      }
      return goodRides;
    })
    .then(rides => {
      res.success(rides);
    })
    .catch(function (err){
      res.log.error("Error");
    });

我的问题是,当我尝试将(结果[i] 推入 goodRides 变量时,一切都中断了。我如何迭代结果并仅提取我想要的索引?

goodRides 必须初始化为数组才能推送到它...

var goodRides = [];

我会这样写:

q.find()
.then(results => Promise.resolve(
  results.filter((result) => result.get('availableSeats') > result.get('occupiedSeats'))
))
.then(rides => res.success(rides))
.catch(err => res.error(err))