解析云代码迭代结果问题

时间:2018-02-04 22:30:36

标签: javascript json parse-platform cloud-code

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

我想查询一个表然后迭代所有结果并检查column1>列2。我不确定是否有办法使用查询约束,所以我在结果上进行for循环。

但是我的问题是当我在iOS应用中返回goodRides时出现此错误:

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

如果我返回结果而不迭代并解析我想要哪些工作正常,那么我不确定我在循环迭代中做错了什么。

这是我的代码:

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变量时,所有内容都会中断。如何迭代结果并仅提取我想要的索引?

2 个答案:

答案 0 :(得分:1)

以下是我写这个的方法:

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))

答案 1 :(得分:0)

必须将

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

var goodRides = [];