我正在创建一个Memer社交媒体应用程序。所以在这里一切都准备好了,但我在为所有用户提供唯一的显示名称时感到困惑。用户名由用户提供。但是如何验证它是否真的存在呢?所有数据都存储在firebase云firestore中。有人能帮我吗?用户名的存储方式如下: collection "users“-> document "userId”->field " Username“
发布于 2021-03-08 13:00:50
为此,我创建了一个名为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
});发布于 2021-03-08 12:57:22
你可以创建cloud function,它将获得用户名,并返回bool,无论它是否唯一。
https://stackoverflow.com/questions/66524004
复制相似问题