如何在Firebase中执行连接查询?

如何在Firebase中执行连接查询?

问题描述:

在HashMap中检索组密钥后,如何执行仅显示那些具有作为特定用户成员的那些细节的联接查询。如果这个结构不对,请帮助我。如何在Firebase中执行连接查询?

结构:

screenShot

+0

参见https://groups.google.com/forum/#!searchin/firebase -talk/join | sort:date/firebase-talk/DKnBnI0bqoI/YMrp-L1hBgAJ – Kato

使用DatabaseReference内的另一个DatabaseReference

// any way you managed to go the node that has the 'grp_key' 
    DatabaseReference MembersRef = FirebaseDatabase.getInstance() 
      .getReference() 
      .child("Members") 
      .child("1CkPG20Tt2dzrVkYkdfCLo") 
      .orderByKey().equalTo("-KYnhiAucnasdkadNC") 
      .addValueEventListener(
        new ValueEventListener() 
        { 
         @Override 
         public void onDataChange(DataSnapshot dataSnapshot) 
         { 
          for (DataSnapshot child : dataSnapshot.getChildren()) 
          { 

           Map<String, Object> valuesMap = (HashMap<String, Object>) dataSnapshot.getValue(); 

           // Get push id value. 
           String key = valuesMap.get("grp_key"); 


           // HERE WHAT CORRESPONDS TO JOIN 
           DatabaseReference chatGroupRef = FirebaseDatabase.getInstance().getReference() 
             .child("Chat_groups") 
             .orderByKey().equalTo(key) 
             .addValueEventListener(
               new ValueEventListener() 
               { 
                @Override 
                public void onDataChange(DataSnapshot dataSnapshot) 
                { 
                 // repeat!! 
                } 

                @Override 
                public void onCancelled(DatabaseError databaseError) 
                { 

                } 
               } 
             ) 
          } 
         } 

         @Override 
         public void onCancelled(DatabaseError databaseError) 
         { 

         } 
        } 
      ); 
+0

您能否告诉我如何将这些数据与firebase结合回收站适配器和非常感谢#amrelghobary先生 –

+0

@ArjunThakkar 你可以使用['FirebaseIndexRecyclerAdapter'](https://github.com/firebase/FirebaseUI-Android/blob/master/database/README.md#using-firebaseui -with-indexed-data) – amrro

+1

@ amrelghobary谢谢先生。 1最后一个问题,如果我有一个组而不是所有这些工作正常,但如果我有多个groups.That首先MembersRef你提到“orderByKey()。equalTo(” - KYnhiAucnasdkadNC“)”这里insted的“-KYnhiAucnasdkadNC”这单个rendom键我有我应该做的随机键列表? –