如何从Firebase数据库中检索多个值?(从多个节点加入)

时间:2016-11-18 07:06:15

标签: android firebase firebase-realtime-database

This is my database

你好主人, 这是一个新的事情,以前没有受过质疑。

我想从firebase数据库获取类似SQL中的JOIN的值。

问。可以从差异/多个节点获取值吗?

如上图所示...

代表。通过比较 11 recNm / sendrNm 值,从 11_12 获取 msgs,recNm,sendrNm,time,msessage 的值>来自 profile_pics

取决于用户喜欢11/12获取img_url和相关信息(如消息,时间等)。

提前谢谢。

1 个答案:

答案 0 :(得分:1)

只需调用两次ListenerForSignleValueEvent,当onDataChange调用第一个时,运行另一个并使用两者,例如:

    DatabaseReference firstRef = FirebaseDatabase.getInstance().getReference().child(FIRSTREFKEY);

    firstRef.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot Ref1dataSnapshot) {

    DatabaseReference secondRef = FirebaseDatabase.getInstance().getReference().child(SECONDREFKEY);
    secondRef.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot Ref2dataSnapshot) {      

        **work here with both nodes values** (Ref1dataSnapshot and Ref2dataSnapshot)

        }
        @Override
        public void onCancelled(DatabaseError databaseError) {            }        });
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {         
}});