假设我有一个使用 GetStream.io 提要的音乐应用程序(如示例),其中我有用户提要和乐队提要(用户能够关注其他用户或乐队)。我正在使用 stram-ruby 宝石。
现在,假设我以用户身份发布到乐队提要,执行以下操作:
user_feed = @client.feed('user', user_id)
activity_data = {
:actor => "User:#{user_id}",
:verb => 'post',
:object => "Post:#{post.id}",
:target => "Band:#{band_id}",
:foreign_id => "Post:#{post.id}",
:time => post.created_at.as_json,
:comment => 'comment 1',
:to => ["band:#{band_id}"]
}
user_feed.add_activity(activity_data)
这工作正常,检索乐队提要,我可以看到那个帖子:
@client.feed('band', band_id).get()
现在,我正在尝试更新此条目(使用评论字段只是为了查看某些更改):
activity_data = {
:actor => "User:#{user_id}",
:verb => 'post',
:object => "Post:#{post.id}",
:target => "Band:#{band_id}",
:foreign_id => "Post:#{post.id}",
:time => post.created_at.as_json,
:comment => 'comment 2',
:to => ["band:#{band_id}"]
}
@client.update_activity(activity_data)
获取乐队提要将正确显示新评论(“评论 2”),但我的问题是:
- 我正在使用我的帖子的 created_at 字段(以确保我能够更新它,因为 GetStream 文档说这是唯一键的一部分)
- 我在更新时使用相同的 created_at 时间
- 在获取乐队提要时,我希望此活动是最重要的活动 - 因为提要应按时间顺序排序。但根据 created_at 时间,它仍然保持在原来的位置。
该怎么办?
我可以尝试使用帖子的 updated_at 字段,但是,如果由于任何原因我的数据库中的帖子发生更改而我没有更新 GetStream 提要,我将无法再在 GetStream 中更新它。
我错过了什么吗?