如何检查给定名称在Android Studio的Firebase实时数据库中是否存在?

时间:2018-11-15 08:13:15

标签: java android firebase firebase-realtime-database

如何检查“ FacultyMember”记录中是否存在给定名称。 如果在记录中找到给定名称,则我想检索其父项(即uid),其他显示未找到消息名称。我该如何在android studio中做到这一点? 这是我的数据库结构。 谢谢

[This is my database Structure.

1 个答案:

答案 0 :(得分:1)

在这种情况下,您可以做的是,用Name来订购与数据库有关的孩子,并将其与nameYouWant进行比较,然后使用dataSnapshot.exists()来决定您与用户的关系

我的意思在代码中看起来像这样:

DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference().child("FacultyMember");
databaseReference.orderByChild("Name").equalTo(nameYouWant).addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
        if(dataSnapshot.exists()){
          for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
               String uid = childSnapshot.getKey();
        }
        else
            // no such user exists

    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) { // ToDo: Do something for errors too

    }
});