在 Google Cloud Firestore 中使用 UUID 作为文档 ID?

Har*_*own 0 uuid nosql firebase google-cloud-platform google-cloud-firestore

我们开始将 Google Cloud Firestore 与 Spring Cloud GCP 结合使用。

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

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

Ren*_*nec 8

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

Firestore 文档 ID 的限制如下,详见文档

对文档 ID 的限制

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

还有一组Best Practices,如下所示,但同样,AFAK UUID 应该不是问题:

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

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

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

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

  • “无法匹配正则表达式。*”这不是任何可能的文本吗? (2认同)
  • 它实际上无法匹配正则表达式 `__.*__` (2认同)