如何在Firebase中执行连接查询?
使用
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)
{
}
}
);
您能否告诉我如何将这些数据与firebase结合回收站适配器和非常感谢#amrelghobary先生 –
@ArjunThakkar 你可以使用['FirebaseIndexRecyclerAdapter'](https://github.com/firebase/FirebaseUI-Android/blob/master/database/README.md#using-firebaseui -with-indexed-data) – amrro
@ amrelghobary谢谢先生。 1最后一个问题,如果我有一个组而不是所有这些工作正常,但如果我有多个groups.That首先MembersRef你提到“orderByKey()。equalTo(” - KYnhiAucnasdkadNC“)”这里insted的“-KYnhiAucnasdkadNC”这单个rendom键我有我应该做的随机键列表? –
参见https://groups.google.com/forum/#!searchin/firebase -talk/join | sort:date/firebase-talk/DKnBnI0bqoI/YMrp-L1hBgAJ – Kato