Firebase:在posts集合中重复用户名还是使用ID?

Firebase:在posts集合中重复用户名还是使用ID?,firebase,Firebase,我刚刚使用firebase和nosql 我有一个用户集合,有很多用户。用户集合如下所示: users | ---- -MOFidfjdUSJFDJ (the user unique ID) | ----- username: josh (username) | ----- email: j@j.com | ----- name: josh ss s 每个用户都可以创建

我刚刚使用firebase和nosql

我有一个用户集合,有很多用户。用户集合如下所示:

users
  |
  ---- -MOFidfjdUSJFDJ (the user unique ID)
          |
          ----- username: josh (username)
          |
          ----- email: j@j.com
          |
          ----- name: josh ss s
每个用户都可以创建帖子:

Posts
  |
  ---- -Mjfhdidfdufduf (the post id)
           |
           ------ username: (SHOULD I USE JOSH OR THE USER KEY -MOFidfjdUSJFDJ?)
           |
           ------ postText: text user enter
           |
           ------ profileIMG: (repeate the profile collection img or use the key?)
因此,在帖子中,我应该有
用户名
,一个
文本
用户发布和他的
个人资料图像
(来自收藏)

问题是,用户可以根据需要更改其
用户名
,也可以更改其
个人资料图片
。如果我使用id,我只更新users中的用户名。但如果我在每个帖子中重复用户名,并且用户有大约1000篇帖子,我应该在所有这些帖子中更新他的用户名

我的问题是:我应该使用其他集合中的ID还是在每篇文章中重复用户和profileIMG

例如,如果我重复使用user,
josh
和profileIMG
/images/josh.jpg
如何使用firebase一次更新所有内容


非常感谢。

帖子
下,使用以下内容:

Posts
  |
  ---- -Mjfhdidfdufduf (the post id)
           |
           ------ userId: userID_value
           |
           ------ postText: text user enter
使用
userID
作为
userID
的值。这样,当您撰写文章并希望检索用户信息时,您可以在
users
collection下阅读与该用户相关的文档

如果您更新了
用户名
档案img
,那么您只需要在一个地方进行更新,从而进行一次读取


所以基本上:

  • 如果用户有1000篇文章
  • 用户更新了他的个人资料图像和用户名
  • 您将仅更新用户集合中的用户文档
  • 如果您输入一个包含该用户帖子列表的页面,它将检索新的用户名和配置文件图像


  • 现在,如果在您的应用程序中,您有一个所有用户的帖子列表,那么在集合中的每个文档下都有
    用户名
    配置文件img
    postText
    ,就更容易了。然后你必须更新用户的所有帖子,但你需要考虑到用户不会每天更新个人资料图像或用户名。

    谢谢你的回答!我将在Feed中显示帖子,这样我就可以在那里看到许多用户的帖子。在这种情况下,在用户更改其配置文件图片后,我是否应该执行firebase函数?或者我可以在我的reactjs应用程序中上传一个简单的命令,比如:
    firebase.database().ref().update(updates)
    ?再次感谢!