android - 在不知道孩子的情况下搜索一个值
问题描述
这是我的数据库的屏幕截图
我通过编写以下代码获得了用户密钥 ID
userID=Objects.requireNonNull(FirebaseAuth.getInstance().getCurrentUser()).getUid();
我需要在那个关键角色中搜索孩子以检查它是学生还是教员
问题是我在网上找到的所有解决方案都需要一个父节点来搜索,我不知道这个用户是学生还是教师,所以我不能只写
FirebaseDatabase.getInstance().getReference().child("students")
或者
FirebaseDatabase.getInstance().getReference().child("instructors")
我试图直接访问密钥但没有运气
FirebaseDatabase.getInstance().getReference().child(userID);
那么,这怎么可能实现呢?
解决方案
检查两者
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
orisInstructor
将是true
。如果两者都是,false
则用户不存在。
推荐阅读
- python - 如果我调试或运行它,为什么会有两个不同的结果?
- python - Django Defect-dojo:aws-prowler 上传失败
- android - java.lang.RuntimeException: android.view.InflateException
- reactjs - Create-React-App:在本地机器上部署时出现 ESlint 错误
- ruby - 如何将非零索引映射到字符串中的每个字符
- laravel - 如何在 Ubuntu 服务器中将 Laravel 版本 5.8 降级到 5.1?
- python - 当我使用 post 方法向 python 烧瓶提交一次时,我的网页被多次渲染
- regex - python上的re.sub数据框
- html - 底部边框未显示(表格)
- python-3.x - TensorFlow 2.0 - 模型子类化:无输入维度