我正在构建一个活动源应用程序,用户可以在其中查看/评论每个活动源。我浏览了GetStream.io文档,看起来我必须使用对象ID发送活动。
{
id:"ef696c12-69ab-11e4-8080-80003644b625",
actor:"User:1",
object:"Comment:12",
started_at:"2014-11-11T15:06:16+01:00",
target:"Feed:100",
time:"2014-11-11T14:06:30.494",
verb:"add"
}
答案 0 :(得分:1)
是的,当您从Stream中提取Feed时,我们会将这些引用(例如user:1
或comment:12
)退回给您,我们希望您能够充实"您数据库中的详细信息。
我们的用户通常会跟踪模型的名称(例如user
)和user_id(例如1
)。当您获得Feed并将其放入哈希映射时,您将遍历这些活动,提取所有actor
属性,并执行select * from user where id in (1,3,5,6,9,12)
之类的单个查找,以便您&# 39;只对所有用户对象或所有评论对象或其他任何内容进行一次数据库访问。然后,在您的哈希映射中替换这些活动,这样您就可以拥有actor: <object for User 9>
以及您的UI展示所需的任何其他属性。
然后对您在活动中传递的其他引用执行相同操作,依此类推。
我们不建议的事情是为可能改变的事情添加字符串引用。例如,如果你有actor: "user:ian"
而不是我的user_id,如果我以后更改了我的用户名,那么事情可能无法在你身边正常运作。