Parse Server - 安装类缺少用户列

Posted

技术标签:

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

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

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

【问题讨论】:

您必须手动将用户类(指针)与安装类链接...理想的方法是当您在客户端创建新安装时,将用户 ID 保存到安装类 【参考方案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 触发器后它不起作用。我决定在客户端做,我认为这是最简单的方法。

以上是关于Parse Server - 安装类缺少用户列的主要内容,如果未能解决你的问题,请参考以下文章

Parse-Server 本地安装 - 外部模块

parse-server:如何区分用户类 BeforeSave 中的 signUp 和常规 ParseUser.save?

安装 Parse Server 通用电子邮件适配器

在 Windows Server 2012 R2 上安装 XAMPP 时出现 UAC“缺少写入权限”错误

Swift&Parse:查询结果,其中列类等于用户类中的列

Parse-Server 安装中的 MongoError write EPIPE”