解析后退云函数返回成功结果但不执行成功函数

时间:2015-09-05 05:45:18

标签: swift parse-platform cloud-code

我无法使用我的后续云功能来增加另一个数据表中的值。 Parse文档在这方面有点令人困惑。

我有一张名为" CandidateVotes"为候选人"每个投票存储一行。 - 当保存新的投票行时,我想增加存储在名为" CategoryCandidates"的另一个表中的总投票数。每个"候选人都有一行"。

所以相关信息:
  - 投票表被称为" CandidateVotes"
  - 候选人表被称为" CategoryCandidates"
  - 调用CategoryCandidates表中的总计数计数列    "票"
  - 我正在初始化" CategoryCandidates"排在"投票"值为0

这是我的Parse后续云功能:

Parse.Cloud.afterSave("CandidateVotes", function(request) {
  query = new Parse.Query("CategoryCandidates");
  query.get(request.object.get("candidateID").objectID, {
    success: function(candidate) {
      candidate.increment("votes");
      candidate.save();
    },
    error: function(error) {
    }
  });
});

这是我在云代码日志中看到的:

I2015-09-05T04:18:21.151Z]v15 after_save triggered for CandidateVotes for user 7YfU2ETvb3:
  Input: {"object":{"candidateID":{"__type":"Pointer","className":"CategoryCandidates","objectId":"XcfYPgijtn"},"createdAt":"2015-09-05T04:18:21.150Z","objectId":"sLySF6MvvQ","updatedAt":"2015-09-05T04:18:21.150Z","userID":{"__type":"Pointer","className":"_User","objectId":"7YfU2ETvb3"}}}
  Result: Success

但"投票"列未递增。它仍为0。

非常感谢任何想法!

1 个答案:

答案 0 :(得分:0)

JavaScript中的objectId属性只是id

//replace
request.object.get("candidateID").objectID
//with this
request.object.get("candidateID").id