我无法使用我的后续云功能来增加另一个数据表中的值。 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。
非常感谢任何想法!
答案 0 :(得分:0)
JavaScript中的objectId
属性只是id
。
//replace
request.object.get("candidateID").objectID
//with this
request.object.get("candidateID").id