你好主人, 这是一个新的事情,以前没有受过质疑。
我想从firebase数据库获取类似SQL中的JOIN的值。
问。可以从差异/多个节点获取值吗?
如上图所示...
代表。通过比较 11 的 recNm / sendrNm 值,从 11_12 获取 msgs,recNm,sendrNm,time,msessage 的值>来自 profile_pics 。
取决于用户喜欢11/12获取img_url和相关信息(如消息,时间等)。
提前谢谢。
答案 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) {
}});