检查firebase中的两个或多个重复项

时间:2017-07-08 04:54:23

标签: android firebase firebase-realtime-database

我正在尝试为我的学校制作一个Android应用程序。我们被分配了一个卷号。我想将学生存放在firebase中,同时确保没有两个学生拥有相同的卷号和电子邮件。我以类似于:

的方式存储它们
{
  "Users": {
    "Uid":{
      "data":{
        "Name": "",
        "RollNumber: "",
        "Email": "",
        "Phone": "",
        "Other Fields": ""
      },
      "otherData": {
      }
    }
  }
}

也许稍后可以扩展以使某些组合独特,就像没有两个学生可以拥有相同的电话和日期和出生组合(仅举例)。

1 个答案:

答案 0 :(得分:0)

为了解决您的问题,我重申您实施Firebase authenticationGoogle Signin。这样,您就可以确定该电子邮件是唯一的。

要验证Roll Number是否为单一性,请使用Roll Number代替uid,然后在引用上使用exists()方法。如果您的项目中有太多用户,我重新命令您创建一个名为rollNumbers的新部分,并仅对此新部分进行检查。这意味着您无需下载整个用户节点。您只需要下载明显较小的rollNumbers节点。

以同样的方式,你可以为其他领域实现这一目标。

希望它有所帮助。