如何从FireBase下载特定项目,但不是所有项目列表?

时间:2015-12-28 14:11:03

标签: java android firebase firebase-realtime-database

我想从我的FireBase数据库中获取特定项目,例如我的FireBase中有汽车数组,每辆车都有一个唯一的ID我只想下载一个按ID搜索到的特定汽车,我想将其解析为Car java对象没有下载所有不必要的汽车列表。

2 个答案:

答案 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的所有汽车。如果你知道更好的方法请写在这里:)