【问题标题】:Parse aftersave cloud function returns a success result but doesn't execute success function解析后保存云函数返回成功结果但不执行成功函数
【发布时间】:2015-09-05 05:45:18
【问题描述】:

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

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

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

这是我的 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

但是“投票”列没有增加。它仍然是 0。

任何想法都将不胜感激!

【问题讨论】:

    标签: swift parse-platform parse-cloud-code


    【解决方案1】:

    objectId 属性在 JavaScript 中只是 id

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

    【讨论】:

      猜你喜欢
      • 2011-11-18
      • 1970-01-01
      • 2021-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多