Android 在firebase中为用户ID创建增量方法

Android 在firebase中为用户ID创建增量方法,android,firebase,flutter,Android,Firebase,Flutter,我试图创建一个数据库结构,在这个结构中,每个在应用程序中注册的用户都会获得一个存储在firebase中的增量ID,但我不太清楚如何做到这一点 ID是增量的,这对您很重要吗?在分布式系统中,始终存在ID冲突的风险 最好使用全局唯一ID(UUID)来标识用户。这些ID从不冲突 Dart实施: 用法: String uuid = Uuid().v4(); 你不能这样做吗(伪代码) 为什么它需要一个数字?Firebase可以为您的身份生成ID,但它们不是数字。为什么不使用来自身份验证过程的uid?@A

我试图创建一个数据库结构,在这个结构中,每个在应用程序中注册的用户都会获得一个存储在firebase中的增量ID,但我不太清楚如何做到这一点


ID是增量的,这对您很重要吗?在分布式系统中,始终存在ID冲突的风险

最好使用全局唯一ID(UUID)来标识用户。这些ID从不冲突

Dart实施:

用法:

String uuid = Uuid().v4();

你不能这样做吗(伪代码)


为什么它需要一个数字?Firebase可以为您的身份生成ID,但它们不是数字。为什么不使用来自身份验证过程的uid?@AlexMamo我知道这是个更好的主意,但是我被要求这样做。@peakystewie到目前为止你尝试了什么?@AlexMamo我尝试创建一个计数器变量,并在每次注册用户时递增它,但问题是当应用程序重新启动时,计数器再次从0开始。我认为逻辑是,我应该为firebase中添加的最新子级创建一个变量并对其进行递增,但我没有找到一种方法来引用添加的最新子级。如果是关于guid,firebase会为您生成这些变量。你不应该自己做,我要求你逐步做,我知道这不是个好主意。但事实是增量的,这意味着不能有冲突,因为对于每个添加的用户,ID都是+1。我认为这是Firestore的,不是实时数据库。@peakystewie不重要,同样的逻辑适用。
var allUsers = await Firebase.instance.collection('users').getDocuments();
var newID = allUsers.documents.length + 1;
// then use the generated ID to save for a new user