简单的概念问题:你能覆盖 Firebase 中使用的 public url 吗?

Simple concept question: Can you overwrite a public url used in Firebase?

如果用户更改了他们的姓名或个人资料图片,我想更新一个 JSON 对象,该对象存储在 public 可用的 Firebase URL 中,其中包含这些值。这在 Firebase 中是否可行——基本上是重复使用 URL?

这会让我不必更新 Firestore 集合中的大量数据。

示例:

编辑:没有代码问题或错误,因为我没有编写它。我什至无法在网上找到它

如果您使用的结构与此类似:

Firestore-root
  |
  --- users (collection)
       |
       --- $uid (document)
            |
            --- profilePhoto: "https://firebasestorage_images.mobileapp.com/uid-123456"

要读取与用户帐户关联的URL,您只需要知道 UID。所以 profilePhoto 字段包含什么并不重要,读取它的路径将始终相同。

如果您希望始终拥有独一无二的 URL,那是不可能的。当您将照片上传到 Firebase 存储时,会生成一个令牌。因此,即使您使用相同的名称,新照片也会覆盖旧照片,但会生成一个新令牌。这样的 URL 看起来像这样:

https://firebasestorage.googleapis.com/v0/b/your_app.appspot.com/o/photos/leon.jpg?alt=media&token=617c54b9-5d4c-...

您不能使用旧令牌更新新图像。