我正在尝试为我的学校制作一个Android应用程序。我们被分配了一个卷号。我想将学生存放在firebase中,同时确保没有两个学生拥有相同的卷号和电子邮件。我以类似于:
的方式存储它们{
"Users": {
"Uid":{
"data":{
"Name": "",
"RollNumber: "",
"Email": "",
"Phone": "",
"Other Fields": ""
},
"otherData": {
}
}
}
}
也许稍后可以扩展以使某些组合独特,就像没有两个学生可以拥有相同的电话和日期和出生组合(仅举例)。
答案 0 :(得分:0)
为了解决您的问题,我重申您实施Firebase authentication和Google Signin。这样,您就可以确定该电子邮件是唯一的。
要验证Roll Number
是否为单一性,请使用Roll Number
代替uid
,然后在引用上使用exists()
方法。如果您的项目中有太多用户,我重新命令您创建一个名为rollNumbers
的新部分,并仅对此新部分进行检查。这意味着您无需下载整个用户节点。您只需要下载明显较小的rollNumbers
节点。
以同样的方式,你可以为其他领域实现这一目标。
希望它有所帮助。