【发布时间】:2018-02-13 14:47:39
【问题描述】:
我正在使用 Firebase 后端编写一个投票应用程序。用户回答是/否问题并查看结果。除了他们的朋友之外,他们看不到谁回答了这个问题。我的结构:
questions
question1:
readable
text: "Do you enjoy Stack Overflow?"
yes_count: 76
no_count: 14
response:
user1: yes
user2: no
...
user1000: no
users:
user1:
friends:
user1
user999
一种方法是在"response" 节点上调用onChildAdded,并在客户端进行过滤。这可能会导致下载数千个不必要的 UID。另一种方法是要求服务器执行此操作。用户将获取朋友 UID 的请求放在队列中,后端进行过滤并将其放在用户可以收听的位置。但这是一个很大的额外负担,尤其是考虑到每当一个问题有新答案时,后端必须检查该新答案是否来自每个用户的朋友。
问题:是否有可能以这样一种方式查询 Firebase,以仅在 "response" 节点获取朋友的 UID,而不是每个人的。如果不是,是用户进行过滤(并下载数千个不需要的 UID)还是让服务器进行过滤(巨大的额外负载)更好?
【问题讨论】:
标签: database firebase data-structures firebase-realtime-database