如何在Firebase数据库中获取嵌套键

时间:2019-11-26 19:25:12

标签: java android firebase firebase-realtime-database

database structure

所以我有一个问题,是否可以在-Ltlu0PZaSDgydS1akRt本身的条件下(如果courseId包含-LuPHOGBwBLTIHn-k4zl的情况下检索对象Student下的courseId的整个子对象是-Ltlu0PZaSDgydS1akRt对象中的嵌套对象。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

要获取courseId下的嵌套键,请尝试以下操作:

Query databaseReference = FirebaseDatabase.getInstance().getReference("Student").child("Ltlu0PZaSDgydS1akRt").orderByChild("-Lua7cZD1anNgKuvprjj");
databaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
     if(dataSnapshot.exists()){
       for(DataSnapshot ds : dataSnapshot.getChildren()){
           String key = ds.getKey();
           String value = ds.getValue(String.class);
         } 
    }
} 
    @Override
    public void onCancelled(DatabaseError databaseError) {
        throw databaseError.toException();
    }
});

在这里,您在节点courseId处添加引用,然后附加一个侦听器并在ID内进行迭代。然后使用getKey()可以检索密钥。