firebase 中唯一的用户名,没有变通办法

Posted

技术标签:

【中文标题】firebase 中唯一的用户名,没有变通办法【英文标题】:Unqiue usernames in firebase with no work arounds 【发布时间】:2021-11-19 04:39:05 【问题描述】:

我看过其他答案,但我仍然感到困惑。基本上我有一个 firebase 身份验证系统,并且正在尝试强制使用唯一的用户名。

到目前为止,我有 2 个集合,一个 users 集合和一个 username 集合。在用户集合中,文档包含用户信息。在 usernames 集合中,每个文档 id 是用户名,在文档中是 userId。

为了防止用户注册时出现重复的用户名,我正在考虑对用户名集合进行查询并检查用户名是否存在,从那里向用户显示错误或继续注册。

代码:

// Check if user exists

const usernamesRef = collection(db, 'usernames');
const usernameExists = query(usernamesRef, where('usernames', '==', username));

if(usernameExists) 
  // handle error
 else 
  createUserWithEmailAndPassword(auth, email, password)
  //

我的问题是有什么办法可以规避这个问题,或者有没有更好的方法来做到这一点。我以前从未做过这样的事情,所以我正在寻找输入/建议。谢谢。

【问题讨论】:

【参考方案1】:

看看你是否需要这个云功能

https://bigcodenerd.org/enforce-cloud-firestore-unique-field-values/

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于firebase 中唯一的用户名,没有变通办法的主要内容,如果未能解决你的问题,请参考以下文章

如何将用户名列表中的唯一用户名提供给firebase中的用户

有没有办法从 Firebase 中删除有关用户的所有数据?

如何设置用户身份

有没有办法根据 firebase Auth 用户信息更新 firestore 文档字段?

检查唯一用户名时 Firebase 权限被拒绝

有没有办法确定用户是通过自定义 Firebase 帐户还是通过 Flutter 中的 Google 帐户登录的?