【问题标题】:Using UUID as document ID in Google Cloud Firestore? [closed]在 Google Cloud Firestore 中使用 UUID 作为文档 ID? [关闭]
【发布时间】:2020-05-09 19:10:59
【问题描述】:

我们开始将 Google Cloud Firestore 与 Spring Cloud GCP 一起使用。

我们正在考虑为每个文档添加一个 UUID 作为文档 ID——主要是因为我们已经习惯了使用 SQL 数据库。

但是,Firestore 中似乎没有对 UUID 的原生支持。在 Firestore 中使用 UUID 作为文档 ID 有什么优点或缺点吗?

【问题讨论】:

  • 您预计会出现什么问题?很难说哪种答案会有所帮助。

标签: firebase google-cloud-platform google-cloud-firestore nosql uuid


【解决方案1】:

使用 UUID 作为 Firestore 文档 ID 应该没有任何问题。

Firestore 文档 ID 的约束如下,详见doc:

对文档 ID 的限制

  • 必须是有效的 UTF-8 字符
  • 不得超过 1,500 字节
  • 不能包含正斜杠 (/)
  • 不能仅由单句点 (.) 或双句点 (..) 组成
  • 无法匹配正则表达式.*

还有一组Best Practices,如下,不过再说一次,AFAK应该不是UUID的问题:

  • 避免使用文档 ID。和...
  • 避免在文档 ID 中使用 / 正斜杠。

  • 不要使用单调递增的文档 ID,例如:

    • 客户 1、客户 2、客户 3...
    • 产品 1、产品 2、产品 3、...

      此类顺序 ID 可能会导致影响延迟的热点。

【讨论】:

  • "无法匹配正则表达式.*" 这不是任何可能的文本吗?
  • 它实际上无法匹配正则表达式__.*__
猜你喜欢
  • 1970-01-01
  • 2021-07-10
  • 2022-01-24
  • 2021-08-29
  • 1970-01-01
  • 2023-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多