当用户发布新内容时,活动foreign_id
为'Post:id'。当用户对帖子发表评论时,活动foreign_id
为'Comment:id',而target
为'Post:id'。
当用户删除其帖子时,很容易使用removeActivity()
删除与该帖子直接相关的活动,但是如何删除与该帖子的评论和喜欢相关的所有活动?
使用我的应用程序数据库,我可以轻松地检索所有这些评论和喜欢的内容,但是似乎没有removeActivities()
方法可以批量删除Feed中的活动。
我看到的唯一方法是对数据库中检索到的每个评论和喜欢调用removeActivity()
,但这似乎是一种不好的方法。如果帖子中有2000条评论和2000个赞,则我们需要4000个api请求才能删除此帖子...
答案 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(在文档中对此也有说明)执行删除。