【问题标题】:GetStream creates same activity in different feedsGetStream 在不同的提要中创建相同的活动
【发布时间】:2021-08-09 03:16:03
【问题描述】:

我构建了这段代码来为我的标签提要添加标签。

buildActivity = (model,obj) => {
  return {
    ...{
      actor: `user:model.user`,
      verb: 'is',
      object: `model:${model.id}`,
      foreign_id: `model:${model.id}`,
      time: model.createdAt.toDate(),
    },
    ...(obj ? obj : {})
  }
}
addActivitiesToTagFeed = async (model,tags) => {
  const promises = []
  for(let i=0;i<tags.length;i++){
    const tag = tags[i]
    const activity = buildActivity(model,{target: `tag:${tag}`})
    const feed = stream.feed('tag', tag)
    promises.push(feed.addActivity(activity))
  }
  await Promise.all(promises)
}

我限制为最多 3 个标签。我可以喜欢 tag:netflix tag:films tag:suspense

问题是由 addActivity 创建的活动在某种程度上对所有标签都是相同的。相同的目标,甚至相同的活动 ID。它破坏了我只遵循这些标签之一的“tag_aggregated”。

知道如何解决它吗?

【问题讨论】:

    标签: javascript feed getstream-io


    【解决方案1】:

    好消息

    Feed(在我的情况下为 tagfeed)不能有具有相同 foreign_id + time 的不同活动。为了修复我改变了我的代码

    buildActivity = (model,obj) => {
      return {
        ...{
          actor: `user:model.user`,
          verb: 'is',
          object: `model:${model.id}`,
          foreign_id: `model:${model.id}`,
          time: model.createdAt.toDate(),
        },
        ...(obj ? obj : {})
      }
    }
    addActivitiesToTagFeed = async (model,tags) => {
      const promises = []
      for(let i=0;i<tags.length;i++){
        const tag = tags[i]
    
        // THIS LINE changing the foreign_id for each activity
        const activity = buildActivity(model,{target: `tag:${tag}`,foreign_id: `model:${model.id}:${tag}`})
    
        const feed = stream.feed('tag', tag)
        promises.push(feed.addActivity(activity))
      }
      await Promise.all(promises)
    }
    

    它解决了我的问题。在 GetStream 文档中没有提到它但很有意义,因为 foreign_id + time 是查找唯一记录的辅助键。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多