在HashMap中检索组密钥后,如何执行连接查询,该查询仅显示具有该特定用户成员的grp
个详细信息。如果这种结构错误,请帮助我。
结构:
答案 0 :(得分:1)
在另一个
中使用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)
{
}
}
);