如何在嵌套的Firebase数据库中检索所有数据 [英] how to retrieve all the data within nested firebase database

查看:92
本文介绍了如何在嵌套的Firebase数据库中检索所有数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

In the code sample the key nodes below Bookings are userIds(2 users) followed by a random push() key. I want to retrieve the data nested within both the userIds.

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

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

The reference above only applies to the current logged in user

推荐答案

请使用以下代码:

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);

希望有帮助.

这篇关于如何在嵌套的Firebase数据库中检索所有数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆