解析 aftersave 云函数 returns 成功结果但不执行成功函数

Parse aftersave cloud function returns a success result but doesn't execute success function

我无法让我的 aftersave 云函数增加另一个数据中的值 table。 Parse 文档在这方面有点混乱。

我有一个名为 "CandidateVotes" 的 table,它为 "candidate" 上的每个投票存储一行 - 当保存新的投票行时,我想增加总数票数存储在另一个名为 "CategoryCandidates" 的 table 中,每个 "candidate".

都有一行

于是相关资料​​:
- 投票 table 称为 "CandidateVotes"
- 候选人table被称为"CategoryCandidates"
- CategoryCandidates table 中的总票数列被调用 "votes"
- 我正在用 "votes" 值 0

初始化 "CategoryCandidates" 行

这是我的 Parse aftersave 云函数:

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

但是 "votes" 列没有递增。它仍然是 0。

任何想法将不胜感激!

objectId 属性 就是 JavaScript 中的 id

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