Firestore:ID 在集合中或全球范围内是唯一的吗?
Firestore: Are ids unique in the collection or globally?
对于我的数据库结构,我需要知道 Firebase Cloud Firestore 中自动生成的标识符在集合中或在整个数据库中是否是唯一的。
怎么做?
通过在 Firestore 中调用 add()
生成的键与您调用 add()
的集合无关。相反,它们是随机标识符,在统计上保证是唯一的。对于 Firestore(和 Firebase 实时数据库),这些密钥是在客户端生成的。
如果您有兴趣,请查看 Firestore JavaScript SDK 如何实现逻辑:
逻辑本身类似于 Firebase 实时数据库生成其推送 ID 的方式。主要区别似乎是 Firestore 的自动生成键不是基于本地时间戳,因此它们不能有意义地用于对集合中的文档进行排序。
在节点和现代浏览器中,自动生成的 ID 似乎是随机的加密质量。 https://github.com/firebase/firebase-js-sdk/blob/66deb252d9aebf318d2410d2dee47f19ad0968da/packages/firestore/src/platform/node/random_bytes.ts
对于我的数据库结构,我需要知道 Firebase Cloud Firestore 中自动生成的标识符在集合中或在整个数据库中是否是唯一的。
怎么做?
通过在 Firestore 中调用 add()
生成的键与您调用 add()
的集合无关。相反,它们是随机标识符,在统计上保证是唯一的。对于 Firestore(和 Firebase 实时数据库),这些密钥是在客户端生成的。
如果您有兴趣,请查看 Firestore JavaScript SDK 如何实现逻辑:
逻辑本身类似于 Firebase 实时数据库生成其推送 ID 的方式。主要区别似乎是 Firestore 的自动生成键不是基于本地时间戳,因此它们不能有意义地用于对集合中的文档进行排序。
在节点和现代浏览器中,自动生成的 ID 似乎是随机的加密质量。 https://github.com/firebase/firebase-js-sdk/blob/66deb252d9aebf318d2410d2dee47f19ad0968da/packages/firestore/src/platform/node/random_bytes.ts