我是否需要提取完整的用户列表以从Firebase获取随机用户?

时间:2015-04-26 19:37:33

标签: firebase firebase-realtime-database database nosql

为简单起见,我们假设我的Firebase方案类似于:

  • 用户列表
    • User1的
      • 年龄 - 22
      • 性别 - M
    • 用户2
      • 年龄 - 26
      • 性别 - M
    • 用户3
      • 年龄 - 20
      • 性别 - F

假设我想在期望的年龄范围和期望的性别中从该列表中获得随机用户。现在我正在提取完整的用户列表,过滤掉那些与我的偏好不匹配的用户列表,然后从客户端匹配的那些用户中获取随机用户。这对少数用户来说很好用,但是如果我有10,000个用户呢?

有没有办法在不下载所有用户的完整列表的情况下完成此操作,因为这非常带宽。使用关系数据库,只使用where子句很容易,但由于我不能使用Firebase,我认为我必须做所有客户端,这意味着检索完整的数据列表。最小化带宽的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

一个解决方案(而且,我认为,目前唯一的解决方案)是在您的数据库中保留一个单独的用户名列表(" User1"," User2" ,. ..)。然后获取一个随机用户,检索用户名列表并从中获取一个随机项。然后从完整用户列表中检索相应的完整用户。