2015-12-28 17 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。

相关问题