我想从我的FireBase数据库中获取特定项目,例如我的FireBase中有汽车数组,每辆车都有一个唯一的ID我只想下载一个按ID搜索到的特定汽车,我想将其解析为Car java对象没有下载所有不必要的汽车列表。
答案 0 :(得分:2)
您的自我回答的另一种选择是将汽车存放在他们的ID下:
cars
car_1
make: ...
model: ...
car_2
make: ...
model: ...
然后你可以在不需要查询的情况下访问汽车,这意味着事情会扩展得更好:
var id = 2;
ref.child('cars').child('car_'+id)...
请注意,将数组索引存储为Firebase中的键是一种不好的做法,这就是我使用car_
作为前缀的原因。
答案 1 :(得分:0)
首先转到要使用.child("cars")
搜索的特定对象列表,然后在此示例中获取要保留的特定元素为carId,.orderByChild("carId")
并最终检查其值是否等于你的.equalTo("2")
。最终结果是fireBaseRef.child("cars").orderByChild("carId").equalTo("2");
这将返回ID为2的所有汽车。如果你知道更好的方法请写在这里:)