我有一個有日期的數據列表。我通常查詢按日期排序的數據。但是當我需要從中間鍵來回取回某些數據時,我處於這種情況。我有這樣的日期(orderByChild("date")
)排序的數據:Firebase從中間鍵向上和向下查詢數據
{
"key1":{
"date": "2016-07-25"
},
"key2":{
"date": "2016-07-26"
},
"key3":{
"date": "2016-07-27"
},
"key4":{
"date": "2016-07-28"
},
"key5":{
"date": "2016-07-29"
}
}
注:日期可以在未來也。每個日期可以有多個條目。兩個日期之間可能有差距。
如果我知道key3
,我怎樣才能檢索一個以上key3
(即key2
)數據結束列表(即key5
)的?
因此,例如,
- 與KEY3 - > KEY2到KEY5(直到結束)。
- with key4 - > key3 to key5(until end)。
如何使用密鑰查詢密碼,並按子女排序「date」。我有一個key2。從這我需要獲取列表。
我試圖在部分中獲取結果,一個用於上部,另一個用於較低。但是,當我使用orderByChild("date")
時,我不能使用帶鍵的endAt()
(Docs說:您可以結合startAt()
和endAt()
方法將結果限制在指定範圍值)。
有什麼辦法可以檢索基於關鍵的列表?在一個去或部分?
這是不可能的在任何語言甚至java也不允許你 firebase是不支持這個。 您可以手動使用for循環查找key3 –
可能有成千上萬條記錄,因此按鍵查找對性能不利。但有什麼辦法我可以查詢它的兩部分。 1以上的key3和全部以下的key3。那也可以。 – kirtan403
沒有firebase是使用二進制搜索樹算法,所以你沒有必要擔心firebase性能 –