如何在 Flutter 社交媒体应用程序中向所有用户验证唯一用户名?

How to validate Unique username to all users in Flutter social media app?

我正在创建一个 Memer 社交媒体应用程序。所以在这一切都准备好了,但我对为所有用户提供唯一显示名称感到困惑。用户名由用户提供。但是如何验证它是否真的存在呢?所有数据都存储在 firebase 云 firestore 中。那么有人可以帮助我吗? 用户名是这样存储的:collection "users" -> document "userId" ->field "username"

您可以创建 cloud function,它将获得用户名和 returns bool(如果它是否唯一)。

为此,我创建了一个名为 username 的新集合。在创建帐户之前,我调用了这个函数来检查可用性:-

checkUsernameIsUnique(String username)async
  {
    QuerySnapshot querySnapshot;
    setState(() {
      loading=true;
    });
    querySnapshot=await FirebaseFirestore.instance.collection('username').where("username",isEqualTo: username).getDocuments();
    print(querySnapshot.documents.isNotEmpty);
    return querySnapshot.documents.isEmpty;
  }

checkUsernameIsUnique('username to be checked').then((val){
if(val)
{
   //create the user and store the username in username collection also
   FirebaseFirestore.instance.collection('username').document(widget.username).setData({
        "username":widget.username,
      });
}
else 
//username is taken
});