我的Parse数据库中的每个Parse Installation
对象实例都有一个指向特定用户的指针。我有一个为每个用户运行的后台作业,我在后台作业的这一部分要做的是将相应的用户Installation
的{{1}}属性设置为channel
,用于推送通知定位目的。
我认为我会这样做的方法是查询特定的["yesPush"]
实例,然后设置其channels属性。然而,这似乎不起作用。我正在尝试遵循Parse Cloud Code Docs中的指南,但它不是正确的用例,或者我没有正确地遵循它。
代码:
Parse.Installation
答案 0 :(得分:2)
我的方式如下:
// for every User
var userQuery = new Parse.Query(Parse.User);
userQuery.each(function(user) {
var installationQuery = new Parse.Query(Parse.Installation);
installationQuery.equalTo('userId', user);
return installationQuery.first().then(function(installation) {
installation.set('channels', ['yesPush']);
return installation.save();
});
}).then(function() {
status.success();
}, function(error) {
status.error(error.message);
});
each()
功能是您处理作业中大量数据的方式。如果您在其中执行其他异步任务,则需要返回其承诺。
如果我们只期望一条记录,first()
函数会更快更容易。
我在set()
返回的实际installation
对象上调用first()
。
我将返回save()
承诺以允许承诺链接。