这是我的数据库的屏幕截图
我通过编写以下代码获得了用户密钥ID
userID=Objects.requireNonNull(FirebaseAuth.getInstance().getCurrentUser()).getUid();
我需要在该键角色中搜索该孩子,以检查它是 STUDENT 还是 INSTRUCTOR
问题是我在网上找到的所有解决方案都需要一个父节点来搜索,我不知道该用户是学生还是教师 ,所以我不能只是写
FirebaseDatabase.getInstance().getReference().child("students")
或
FirebaseDatabase.getInstance().getReference().child("instructors")
我试图直接访问密钥,但是没有运气
FirebaseDatabase.getInstance().getReference().child(userID);
那么,如何实现呢?
答案 0 :(得分:0)
同时检查两者
dbRef = FirebaseDatabase.getInstance().getReference().child("students");
dbRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if(dataSnapshot.hasChild("userID"));
{
//isStudent = true;
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
和
dbRef = FirebaseDatabase.getInstance().getReference().child("instructors");
dbRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if(dataSnapshot.hasChild("userID"));
{
//isInstructor = true;
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
isStudent
和isInstructor
的值将帮助您查找用户是学生还是教师。如果用户ID仅存在于学生或教师中,则变量isStudent
或isInstructor
中只有一个是true
。如果两者均为false
,则该用户不存在。