2015-12-28 21 views
0

我想從我的FireBase數據庫中獲取特定的項目,例如我在我的FireBase中使用汽車陣列,每輛汽車都有一個唯一的ID我想下載一輛由ID搜索的特定汽車,我想將其解析爲Car java對象,而不下載所有不必要的汽車列表。如何從FireBase下載特定項目,但不是所有包含項目的列表?

+0

'equalTo()'怎麼辦?從'firebase'文檔,你可以找到更多的信息[這裏](https://www.firebase.com/docs/web/api/query/equalto.html) –

+1

你幫我謝謝你:) – Tito

回答

0

第一次去要使用.child("cars")搜索對象的具體名單,即得到具體的元素之後,你想在這個例子比比是carId,.orderByChild("carId")和finaly檢查其值等於您.equalTo("2")。最終的結果是fireBaseRef.child("cars").orderByChild("carId").equalTo("2");這將返回所有汽車行駛的2號如果你知道更好的辦法,請寫在這裏:)

2

你的自我答案的替代方法是將汽車存放它們的ID下:

cars 
    car_1 
    make: ... 
    model: ... 
    car_2 
    make: ... 
    model: ... 

然後你就可以進入汽車,而無需查詢,這意味着事情將規模好多了:

var id = 2; 
ref.child('cars').child('car_'+id)... 

注意,它被認爲是不好的做法,數組索引存儲在火力地堡鍵,這就是爲什麼我在ID爲的前面加上前綴3210。

相關問題