在getstream上发布 Activity 时,我以角色的身份发送用户ID(存储在我们自己的数据库中)。在对象字段中,我也发送用户的其他信息,例如姓名/登记簿等,它们也在我们的数据库中。

假设有人更新了用户信息,例如名称在我们的应用程序中,该对象仍将在帖子中保留旧信息。如何以最佳方式处理这种情况?

最佳答案

Getstream中存储的所有 Activity 均已规范化,因此您无法更新存储在 Activity 中的用户名。最佳实践是不要将数据直接存储在Getstream Activity 中,而是将对数据的引用存储在自己的数据库中(就像您现在对actor字段所做的那样)。

{
    "actor": "user:$USER_ID"
    "object": "post:$POST_ID"
}

其中$USER_ID是您本地数据库中用户的ID,而$POST_ID是您本地数据库中帖子的ID(可以是任何类型的数据,例如评论,帖子等)。还允许您在Getstream API上存储其他(自定义)字段。

使用Getstream的集成软件包之一时,您可以免费获得此功能。您可以看看these packages看看他们是如何处理的。

关于getstream-io - 更新旧帖子的对象信息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35449069/

10-12 17:48