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