Firebase存储文件结构的最佳实践是什么?

5

我希望将用户的个人资料图片存储在Firebase存储中。

我的Firebase数据库结构如下所示。

users
   KXkVAYQOV92tW27Wk0C
        uid: "EAGZwcgvgAcgErO7rfm7IHI91fk2"
        sex: "F"
        age: 24
   KXkVR1rc2riXyGFl69E
        uid: "alE4qM1vg2c9OrW5lVo7IvQk02Hv"
        sex: "M"
        age: 21

现在我在思考我的Firebase存储文件结构应该怎样布置。

想法1:

images
  ㄴ users
      ㄴ EAGZwcgvgAcgErO7rfm7IHI91fk2
           ㄴ profile.png
           ㄴ something.png
      ㄴ alE4qM1vg2c9OrW5lVo7IvQk02Hv
           ㄴ profile.png
           ㄴ something.png

想法2:

images
  ㄴ profile
      ㄴ EAGZwcgvgAcgErO7rfm7IHI91fk2.png
      ㄴ alE4qM1vg2c9OrW5lVo7IvQk02Hv.png
  ㄴ something
      ㄴ EAGZwcgvgAcgErO7rfm7IHI91fk2.png
      ㄴ alE4qM1vg2c9OrW5lVo7IvQk02Hv.png

哪种方法对Firebase存储的性能和可用性最佳?
非常感谢任何建议!

编辑:
根据Lirianer的评论,数据库应该如下所示。

users
   EAGZwcgvgAcgErO7rfm7IHI91fk2
        sex: "F"
        age: 24
   alE4qM1vg2c9OrW5lVo7IvQk02Hv
        sex: "M"
        age: 21

我倾向于像你在"Idea 1"示例中所做的那样,这样更容易让我记住路由。 此外,在数据库中,我会使用uid作为用户的键,并将个人资料图像的下载路径保存为字符串。 - Lirianer
在我的情况下,我将图像存储在存储中,并将它们分组在一些节点下,例如 Root->ImageGroup1。我将图像上传到存储中,并在 onSuccess() 中获取存储 URL。然后,我使用代表图像的模型向数据库编写一个结构。该模型包含两个字段:图像的 URL 和用户的 UUID。我执行 push() 来创建一个键,然后使用 setValue(imageModel) 将其写入数据库。 - Lucy
@Lirianer 谢谢您,我同意您的观点。 - wonsuc
@Lucy 谢谢。这是有帮助的建议。 - wonsuc
1个回答

3

我解决了它。想法1适合我的情况。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接