使用GetStream,如何在删除目标后删除所有“评论”和“喜欢”活动?

时间:2018-07-31 06:41:16

标签: getstream-io

当用户发布新内容时,活动foreign_id为'Post:id'。当用户对帖子发表评论时,活动foreign_id为'Comment:id',而target为'Post:id'。

当用户删除其帖子时,很容易使用removeActivity()删除与该帖子直接相关的活动,但是如何删除与该帖子的评论和喜欢相关的所有活动?

使用我的应用程序数据库,我可以轻松地检索所有这些评论和喜欢的内容,但是似乎没有removeActivities()方法可以批量删除Feed中的活动。

我看到的唯一方法是对数据库中检索到的每个评论和喜欢调用removeActivity(),但这似乎是一种不好的方法。如果帖子中有2000条评论和2000个赞,则我们需要4000个api请求才能删除此帖子...

1 个答案:

答案 0 :(得分:-1)

执行此操作的最佳方法是更改​​跟踪相关对象(如喜欢和评论)的foreign_id的方式。如果将对“父”对象的引用存储在foreign_id字段中,则删除操作将正确传播。

例如。

发布活动-> foreign_id =“ Post:ID”

评论活动-> foreign_id =“ Post:ID”

然后,如果您想删除帖子活动以及所有相关评论和点赞,请通过foreign_id进行删除(请参阅文档:https://getstream.io/docs/#removing-activities

请注意,当您只想删除一个活动(例如,评论或喜欢帖子)时,您必须使用活动ID而不是foreign_id(在文档中对此也有说明)执行删除。