ParseServer 删除具有“未注册”状态的安装

Posted

技术标签:

【中文标题】ParseServer 删除具有“未注册”状态的安装【英文标题】:ParseServer remove Installations with "Unregistered" status 【发布时间】:2018-01-02 18:48:54 【问题描述】:

当我使用Parse.Push.send 时,我的一些安装返回“状态 410,未注册设备”。如何从我的安装架构中自动删除它们?

【问题讨论】:

【参考方案1】:

删除安装需要 ma​​sterKey 访问权限,因此您有 2 个选项:

    使用一些数据库工具手动删除或者我推荐使用parse-dashboard

    通过云代码函数删除代码 - 您需要创建云代码函数,该函数将接收安装 ID 作为参数,并使用 masterKey 将其删除。这个云代码功能可以为您完成工作:

Parse.Cloud.define("removeInstallation", function (req, res) 

    if (!req.params.installationId) 
        res.error("installation id is required!");
        return;
    

    var query = new Parse.Query("_Installation");
    query.equalTo("objectId", req.params.installationId);

    query.first(
        useMasterKey: true
    ).then((insallations) => 
        return Parse.Object.destroyAll(insallations, 
            useMasterKey: true
        );
    ).then(() => 
        res.success(true);
    , function (err) 
        res.err(err);
    );

);

然后可以从您的代码或任何 REST 客户端触发此云代码功能。

希望对你有帮助。

【讨论】:

谢谢冉!因此,如果您有 20k 安装,您必须手动检查哪个未注册?然后为每个安装一个一个调用你的云函数? 嗨@Charlyberthet,您可以创建一个可以为您完成的工作,而不是手动检查它。此外,您可以从任何地方(例如您的客户端、其他服务器或某些自定义 Web 应用程序)调用此云代码函数

以上是关于ParseServer 删除具有“未注册”状态的安装的主要内容,如果未能解决你的问题,请参考以下文章

如何卸载nuget里面的安转包

未知状态码:17028 已通过安全网令牌,但未注册匹配的 SHA-256

具有不变名称“System.Data.SqlServerCe.4.0”的 ADO.NET 提供程序未注册

无法从...中删除关键路径“...”的观察者...,因为它未注册为观察者

Parse.Promise 已从类型定义中弃用/删除?

Parse.Promise已被弃用/从类型定义中删除?