Firestore:id 在集合中还是全局中是唯一的?

2024-03-24

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

怎么做?


调用生成的密钥add() https://firebase.google.com/docs/firestore/manage-data/add-data#add_a_documentFirestore 中的内容与您调用的集合无关add()。相反,它们是随机标识符,在统计上保证是唯一的。对于 Firestore(和 Firebase 实时数据库),这些密钥是在客户端生成的。

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

  1. add calls doc() https://github.com/firebase/firebase-js-sdk/blob/master/packages/firestore/src/api/database.ts#L2050

  2. doc calls AutoId.newId() https://github.com/firebase/firebase-js-sdk/blob/master/packages/firestore/src/api/database.ts#L2026

  3. AutoId.newId()生成客户端ID https://github.com/firebase/firebase-js-sdk/blob/master/packages/firestore/src/util/misc.ts#L27

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Firestore:id 在集合中还是全局中是唯一的? 的相关文章

随机推荐