【问题标题】:Parse Server - Installation class missing user columnParse Server - 安装类缺少用户列
【发布时间】:2017-02-14 14:48:51
【问题描述】:

我正在尝试使用解析服务器向特定用户发送推送通知。但是,安装类没有指向哪个用户拥有此安装的用户列。因此,安装查询不会返回任何内容。我的问题是安装类应该自动创建用户列,还是应该以某种方式关联它们?如果是这样,任何帮助将不胜感激。

附:我正在使用 Cloud Code 发送推送通知。所以我使用的是javascript。

【问题讨论】:

  • 您必须手动将用户类(指针)与安装类链接...理想的方法是当您在客户端创建新安装时,将用户 ID 保存到安装类

标签: push-notification parse-cloud-code parse-server


【解决方案1】:

安装类不会自动设置用户列 - 您必须手动设置。

我建议你创建并保存用户,然后成功回调会将保存的用户对象作为参数,然后你可以在你的安装文档中设置用户。

这是一个快速的 sn-p:

var currentInstallation;
installationModule.getInstallationById(installationId)
  .then(function (installation) {
    if (installation) {
      currentInstallation = installation;
      var user = createParseUser(newUser);
      return user.save();
    }
    else {
      // return error
    }
  })
  .then(function (user) {
    currentInstallation.set('user', user);
    return currentInstallation.save()
  }, function (error) {
    // TODO: handle error
  });

【讨论】:

  • 谢谢,是否可以为 Parse.User 提供 afterSave 云功能?还是为 Parse.Session 执行 afterSave 更好,因为不同的用户可能会从同一设备登录。您的想法将不胜感激。
  • 很高兴我的回答很有帮助。关于触发器,对于初学者来说,Parse.Session 没有 Cloud Code 触发器,这与其他类不同。这意味着您不能在 Parse.Session 上使用 afterSave。至于在 Parse.User 上使用 afterSave,理论上这是一个好主意,但我唯一担心的是,您不会在触发器中包含 Installation 对象以便将用户与它相关联。
  • 是的,我尝试了 Parse.Session 触发器后它不起作用。我决定在客户端做,我认为这是最简单的方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多