场景:
user:1
创建了一个帖子:
{ actor: 'user:1', verb: 'POST_CREATE', object: 'post:1', foreign_id: 'post:1' }
现在,user:1
之后是 user:2
、user:3
和 user:4
.他们都在他们的提要中收到了这个帖子
。他们在帖子上做了以下操作:
user:2
评论了它 (user:1
使用 TO
字段获得了通知):
{ actor: 'user:2', verb: 'POST_COMMENT', object: 'comment:1', target: 'post:1', foreign_id: 'comment:1'
TO: ['notification:1']}
user:3
和 user:4
喜欢:
{ actor: 'user:3', verb: 'POST_LIKE', object: 'like:1', target: 'post:1', foreign_id: 'like:1'
TO: ['notification:1', 'notification:2']}
{ actor: 'user:4', verb: 'POST_LIKE', object: 'like:2', target: 'post:1', foreign_id: 'like:2'
TO: ['notification:1', 'notification:2', 'notification:3']}
问题:
现在,当 user:1
删除帖子时,我将如何删除其所有事件以及它们在提要和通知中的引用?我想通过 1 个 API 调用来完成。
如果我需要更改事件数据,请告诉我。
附言:
- 我已经阅读了
删除事件
的文档,它一次只删除 1 个事件,而且也只从 1 个 feed 中删除.. - 我在每次事件时都发送
时间
,只是没有在此处添加。
最佳答案
如果您从最初添加事件的用户 1 的供稿中删除该事件(使用 foreign_id
),删除将传播到所有后续供稿。
例如,用户 1 添加了一个事件,它显示在用户 2、3 和 4 的供稿中。例如,如果您尝试从用户 2 的供稿中删除该事件,则只会删除该用户的事件,不是其他人。
更新也会发生同样的情况。您更新原始事件,它将向下游传播到后续提要。更新必须具有原始的 foreign_id
和 time
字段,但您不能更改它们。
关于node.js - 删除帖子及其所有通知和提要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45826229/