自动编号是否有通用格式?

时间:2019-03-22 00:22:48

标签: firebase google-cloud-firestore

Android客户端在Firestore集合中生成的自动ID似乎都符合我的某些条件:

  • 长度为20个字符
  • -破折号
  • 开头
  • 似乎可以根据时间循环显示字符?

关于最后一点,我的意思是,如果创作发生在相似的时间范围内(例如, -LZ..-L_..-La..。这描述了Flutter implementation

但是,考虑到Javascript implementation of auto id,我认为所有客户的唯一通用标准是 20个字符。这个假设正确吗?

2 个答案:

答案 0 :(得分:0)

在所有客户端上,自动ID的长度为 20个字符

答案 1 :(得分:-1)

您指的是两种类型的ID:

  1. 当您调用DatabaseReference.push()(或在iOS中为childByAutoId)时,Firebase Realtime Database SDK生成的推送ID。这些在The 2^120 Ways to Ensure Unique Identifiers中进行了描述,并且可以在here中找到JavaScript实现。
  2. 当您调用add(..)doc()(不带参数)时,Cloud Firestore SDK生成的身份验证ID。确实可以在Firestore SDK repo中找到它的JavaScript实现。

这两个ID唯一的共同点是,它们的设计目的是确保足够的熵,以使它们在现实中在全球范围内都是唯一的,并且都长20个字符。