Parse.com – 查找已删除的对象

我有一个与Parse.com同步的iOS应用程序。

它可以找到添加到Parse的任何内容,并使用PFQuery将其添加到Core Data。 它还可以检查已更新的相应数据并进行相应更新。

但是,我不确定如何在Parse.com上找到已删除的对象。

有没有人知道将列出已删除的ObjectID及其删除日期的查询? 然后我可以从应用程序的核心数据中删除它们。

我也需要这个function,但是认为将行标记为已删除会使数据膨胀并为每个查询添加条件。 所以我创建了一个Deletion类。 它只记录任何已删除行的类名和ID,因此它保持很小:

function recordDeletion(klass, identifier) { var Deletion = Parse.Object.extend("Deletion"); var deletion = new Deletion(); deletion.set("klass", klass); deletion.set("identifier", identifier); return deletion.save(); } // for every class that you want deletions recorded, add one of these... Parse.Cloud.beforeDelete("MyClass", function(request, response) { recordDeletion("MyClass", request.object.id).then(function() {response.success();}); }); 

我的iOS客户端记录上次获取数据的日期,然后从MyClass (+其他)和Deletion获取新创建/更新的所有内容。 有了它,可以在本地删除删除。

在较长的时间内,客户端会删除所有本地缓存​​的数据并获取所有内容的新副本(删除除外)。 这允许我在服务器上有一个预定的作业,它将清空Deletion表(在一个比客户端周期长得多的周期)。

没有为此提供的API。

根据@Fogmeister的评论,您可以将对象标记为已删除并更新。 或者,您可以维护已删除的ID的特定列表(可能使用Parse.Cloud.beforeDelete ),然后发出特定请求以仅获取删除。

在任何一种情况下,您都需要明确管理您选择的方案,并决定如何以及何时清理已删除的对象/删除记录。