我正在嘗試查詢子節點值,但我不知道父鍵,我想查詢Firebase適配器。我想下面積訪問用戶ID節點,但我不知道父母即-KqPJMsjSb5CbPcq4nXv 這裏的ID記錄的快照: 當您不知道父鍵時查詢子值
0
A
回答
0
1
請使用此代碼:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference userIdRef = rootRef.child("areas").child(userId);
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String areaId = ds.child("areaId").getValue(String.class);
Boolean booked = ds.child("booked").getValue(Boolean.class);
Integer bookingHour = ds.child("bookingHour").getValue(Integer.class);
//and so on
Log.d("TAG", areaId + "/" + booked + "/" + bookingHour);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
userIdRef.addListenerForSingleValueEvent(eventListener);
在這userId
是說,不缺少用戶的ID。
當您對Firebase數據庫執行查詢時,可能會有多個結果。 因此,快照包含這些結果的列表。即使只有一個結果,快照也會包含一個結果列表。
相關問題
- 1. Firebase - 當您不知道父鍵的值時訪問子節點 - 由childByAutoId()生成
- 2. 當您不知道按鍵時從對象獲取值
- 3. 當父鍵未知時按值查詢MongoDB
- 4. 如何查詢通過特定的值火力數據庫不知道父鍵
- 5. 查詢註冊表不知道鍵名
- 6. 不知道鍵查詢和更新子文檔
- 7. 得到火力鍵和值的值,而不知道父母
- 8. 火力地堡:斯威夫特 - 在子節點查詢值,而不知道父鍵
- 9. 子查詢訪問父值
- 10. 當您知道列的名稱時查找表格?
- 11. 查詢MongoDB子域查詢select/find?不知道該怎麼辦
- 12. 命名查詢不知道
- 13. 訪問 - 當父窗體打開時不查詢子窗體
- 14. SQL Server ROW_NUMBER Left當您不知道列名時加入+
- 15. 當您不知道字段名稱時將Access表字段設置爲值
- 16. 當父鍵未知時,在嵌套的NSDictionary中查找對象?
- 17. 去當按鍵知道
- 18. 當我不知道值的類型時枚舉IDictionary的鍵和值
- 19. 僅當知道兄弟的值時才查找屬性的值
- 20. Elasticsearch查詢 - 並沒有返回值(當我知道它應該)
- 21. 使用IN(...)查詢的父查詢使用值的子查詢?
- 22. 當孩子更改屬性值時通知父級
- 23. 查詢SQL查詢以查找父 - 子 - 子 - 父關係?
- 24. 當子查詢它所產生「未知列」錯誤ON條件使用值從父查詢
- 25. SQL查詢父子
- 26. 如何通過父鍵查詢時獲取子元素AngularFire2
- 27. 當我不知道鍵值時,如何從JSON響應中檢索密鑰?
- 28. 當使用SELECT返回時,父查詢沒有看到子查詢的列*
- 29. 當查詢父,孩子也被提取時,休眠
- 30. 不知道如何寫這個查詢
你@AlexMamo提到的解決方案無效,不要忘記區域後面有一個關鍵節點 – Pheonix
你爲什麼這麼想,你有沒有測試它?我可以說它肯定會有效。正如你可能看到的那樣,DatabaseReference userIdRef是'rootRef.child(「areas」)。child(userId)',這意味着我們在樹的'userId'節點右下。使用'getChildren()'意味着我們從那裏獲取所有的孩子。因爲在這個照顧下只有一個孩子,我們可以從該節點獲得所有兒童,例如areaId,預訂,預訂時間等等。 –
它工作嗎,一切都好嗎? –