如何在一个请求中按范围获取数据?

时间:2017-11-02 12:51:24

标签: javascript reactjs firebase react-native

例如,我有一个像["10154924352473317", "10155028001267749", '11220393911113', '11220393911112', '11220393911111']

这样的数组

在firebase BD中我有一个User集合,其中包含如上所述的ID字段,我想获取所有具有ID的用户,在我的Array中,我不想为每个用户发出请求,它应该是一个请求,有可能吗?

https://image.prntscr.com/image/K2vFENsFTBOBRujYHwVF_A.png

1 个答案:

答案 0 :(得分:2)

如果id是单调递增的整数得到最低的id和最高的id,那么试试这个:

var lowestId = ...;
var highestId = ...;

ref.orderByKey().startAt(lowestId).endAt(highestId)
  .on("child_added", function(snapshot){
      ...
  });

方法2

建议客户端只发出一个请求,而不是多个请求,这样您就可以启动一个云函数,该函数向数据库发出多个请求(或者根据您查询的ID数量占用所有用户),过滤它们按ids并返回结果。