首页 > 解决方案 > 如何在firebase数据库中获取嵌套键

问题描述

数据库结构

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

任何帮助,将不胜感激

标签: javaandroidfirebasefirebase-realtime-database

解决方案


要获取 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()您可以检索密钥。


推荐阅读