如何检索嵌套的firebase数据库中的所有数据

时间:2017-06-14 07:16:36

标签: android firebase firebase-realtime-database

在代码示例中,预订下面的关键节点是userIds(2个用户),后跟随机push()键。我想检索嵌套在userIds中的数据。

data

databaseReference = FirebaseDatabase.getInstance()
    .getReference()
    .child("Bookings")
    .child(user.getUid());
  

上述参考仅适用于当前登录的用户

1 个答案:

答案 0 :(得分:0)

请使用此代码:

databaseReference = FirebaseDatabase.getInstance().getReference().child("Bookings");
ValueEventListener eventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        String userId = dataSnapshot.getKey();

        DatabaseReference keyRef = FirebaseDatabase.getInstance().getReference().child("Bookings").child(userId);
        ValueEventListener valueEventListener = new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                for(DataSnapshot ds : dataSnapshot.getChildren()) {
                    String Client_name = ds.child("Client_name").getValue(String.class);
                    String Data = ds.child("Data").getValue(String.class);
                    //and so on
                }
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {}
        };
        keyRef.addListenerForSingleValueEvent(valueEventListener);
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {}
};
databaseReference.addListenerForSingleValueEvent(eventListener);

希望它有所帮助。