Firestore:自动生成的 id 在集合中还是全局中是唯一的?

问题描述 投票:0回答:2

对于我的数据库的结构,我需要知道 Firebase Cloud Firestore 中自动生成的标识符在集合中还是在整个数据库中是否唯一。

如何做到这一点?

firebase google-cloud-firestore
2个回答
77
投票

在 Firestore 中调用

add()
生成的密钥不与您调用
add()
的集合绑定。相反,它们是随机标识符,在统计上保证是唯一的。对于 Firestore(和 Firebase 实时数据库),这些密钥是在客户端生成的。

如果您有兴趣,可以看看 Firestore JavaScript SDK 是如何实现逻辑的:

  1. add
    致电
    doc()

  2. doc
    致电
    AutoId.newId()

  3. AutoId.newId()
    生成客户端ID

其逻辑本身与 Firebase 实时数据库生成其推送 ID 的方式类似。主要区别似乎是 Firestore 自动生成的键不基于本地时间戳,因此它们不能有意义地用于对集合中的文档进行排序。


1
投票
© www.soinside.com 2019 - 2024. All rights reserved.