Après avoir récupéré la clé de groupe dans HashMap, comment effectuer une requête de jointure qui ne montre que les détails grp
ayant un membre comme utilisateur particulier. Et si cette structure est fausse, aidez-moi avec ça.
Structure:
Utilisez
DatabaseReference
dans une autreDatabaseReference
:
// 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)
{
}
}
);