如何在Firebase中对节点的子值实现唯一约束?

时间:2018-04-26 09:41:46

标签: android firebase firebase-realtime-database

在我的应用程序中,我必须存储具有卷号属性的学生信息。我想阻止用户输入重复的卷号。所以我指导我如何实现逻辑以确保 rollno 是唯一的。反映树的图像如下。

enter image description here

1 个答案:

答案 0 :(得分:1)

尝试以下方法:

DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("user_detail").child("1th_role");
ref.orderByChild("roll_no").equalTo(number_entered).addValueEventListener(new ValueEventListener(){
 @Override
public void onDataChange(DataSnapshot dataSnapshot){
  if(dataSnapshot.exist() {

       Toasty.makeText(Activity_Name.this,"Number already exists",Toast.LENGTH_SHORT).show();

      }
     else{
            //add data
         }

    }
 @Override
public void onCancelled(DatabaseError databaseError) {

  }
});

由于学生将输入该号码,然后执行查询orderByChild("roll_no").equalTo(number_entered),检查输入的卷号是否已存在于数据库中。