无法在保存云代码中查询关系计数afterSave方法

时间:2015-08-10 18:58:30

标签: parse-platform cloud-code

我在Parse中有一个名为Message的对象类,它与许多PFInstallation对象有installations的关系。我使用此关系来跟踪哪些安装当前具有每个Message对象的本地副本。

我想每次保存Message对象时检查每个Message的installations关系中是否存在非零数量的PFInstallations,并且这样做我在使用以下方法云代码:

Parse.Cloud.afterSave("Message", function(request) {
    var message = request.object;
    var query = message.relation("installations").query();
    query.count({
        success: function(count) {
            console.log("count = "+count);
        },
        error: function(error) {
            console.error("Could not count installations for Message": "+error);
        }
    });
});

但是我收到以下错误消息:

v8 after_save triggered for Message for user <redacted>:
  Input: {"object":{"createdAt":"2015-08-10T18:41:21.041Z","installations":{"__type":"Relation","className":"_Installation"},"isRead":0,"objectId":"N88D2m1bqB","recipient":"recipient@domain.com","sendDate":{"__type":"Date","iso":"2015-08-10T18:40:15.047Z"},"sender":"sender@domain.com","text":"v8","updatedAt":"2015-08-10T18:41:21.041Z"}}
  Result: Success
I2015-08-10T18:41:22.305Z]Could not count installations for Message: [object Object]

我不知道为什么我收到此错误消息或错误[object Object]的含义。在其他常规Cloud Code方法中,我已经能够使用上面示例中的查询来计算关系中对象的数量。

请让我知道我可以提供哪些其他信息或说明来帮助回答这个问题。

1 个答案:

答案 0 :(得分:2)

您需要使用主密钥来读取安装表。在运行Parse.Cloud.useMasterKey()查询之前,请尝试拨打find()