首页 > 解决方案 > Firebase - 生成用户可见的唯一帐户/文档编号

问题描述

当用户在应用程序中生成他/她的文档时,我想分配一个唯一但增量的文档/记录(数据条目,而不是 Firebase 文档)编号。

文档编号应该是唯一的整数/长整数,并且将在用户生成的 PDF 文档中显示为Your document number : 1100xxxxxx. 最后生成文档的编号将单独存储,因此当新用户生成他/她的文档时,可以轻松选择、递增并分配给用户。

这样我就不必使用排序再次查询数据库以获取最后生成的数字

FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
Query query = rootRef.collection("Users")
    .orderBy("DocumentNo", Query.Direction.DESCENDING)
    .limit(1);

现在,我通过将 分配user.uid给 Firebase 文档来生成用户。我想确保生成的证书号的唯一性的原因是它将对用户可见,并且多个用户将同时访问服务器(甚至相同毫秒)。

虽然,我已经看到了几乎所有类似的答案,但我发现的答案与我的想法相似的是this。此外,这个未回答的问题是我应该做的,但它也有问题。

那么,有没有一种方法可以为用户生成一个唯一的文档/记录号?答案不必在 Flutter 中,我主要要逻辑。

标签: firebaseflutter

解决方案


如果您想在每次发生某些事情时增加一个数字,请执行以下操作:

document.ref.update({unique_value: FieldValue.increment(1)});

该数字将是唯一的。它将与同时访问服务器的多个用户一起使用。


推荐阅读