通过为文档使用可预测的(例如顺序的)ID,您可以增加在后端基础架构中遇到热点的机会。这降低了 写 操作的可伸缩性。
Cloud
Firestore具有用于唯一ID的内置生成器,您可以在调用
CollectionReference.add(...)或
CollectionReference.document()(不带参数)时使用该生成器。它生成的ID是随机的且高度不可预测的,这可以防止访问后端基础结构中的某些热点。
将UID用于用户文档可以很好地替代Firestore的内置生成器,因为UID已经具有很高的熵:您无法根据了解当前用户来预测下一个用户的UID。在这种情况下,使用UID(或实体的自然键)是更好的方法,因为您可以直接查找文档,而不必查询。
请参阅firebase-talk邮件列表上的讨论,其中一些使用Firestore的工程师对其进行了详细说明。



