我试图将Parse云代码的一部分设置为推送通知目的的安装通道。我希望它将安装设置为两个通道,如下所示:
var installationQuery = new Parse.Query(Parse.Installation);
installationQuery.equalTo('userId', user);
installationQuery.first().then(function(result) {
result.set('channels', [user, "highPush"]);
result.save();
});
我在这里做的是找到与特定userId
相关联的安装,然后设置installation
对象的频道'用户名(user
变量)字符串和字符串" highPush"的属性。
问题是运行此代码似乎只是将其设置为" highPush"而不是两者。当我尝试使用如下所示的显式user
字符串时,它会成功将其设置为两者,但是当我使用包含相同userId字符串的user
变量时则不会。可能导致这种情况的原因是什么?
result.set('channels', ["EG7Mf6mDkT", "highPush"]);
记录user
变量如下所示成功打印,所以我知道它存在。
console.log('set it to high push, and the userId is' + user);
答案 0 :(得分:1)
I'm skeptical that user
is really a string here. Are you sure that user
isn't a Parse.User
?
If it is indeed a Parse.User
object, get at the objectId with:
result.set('channels', [user.id, "highPush"]);