【发布时间】:2019-09-24 10:50:41
【问题描述】:
我正在构建一个“与朋友一起钓鱼”应用程序,让用户可以创建共享的钓鱼记分牌。每个用户都可以为自己的日志记录分数。我目前将所有分数保存在一个名为 catchLog 的集合中。对于单个用户自己的日志,我只查询记录的 catch 有他的 id 的位置。
每个用户还可以邀请朋友。然后每个用户都有一个带有朋友 ID 的朋友子集合。
但是现在,我正在努力思考如何在过滤用户朋友的同时显示具有不同值的共享记分板 catchLog。
这是数据库结构:
用户收藏:
这里是朋友的子集合(这些ID与那些朋友的uid相同)并且这个人只有一个朋友。 -
这是所有渔获物所在的集合:
我不确定如何解决这个问题。我认为不可能使用要在集合中匹配的值列表来调用 firestore SDK。
我想我可能应该在他打开该视图时获取用户朋友 ID,将它们存储在一个数组中,然后为通过该数组的每个循环进行新的数据库调用,但这感觉不是一个好的解决方案,它会可能需要太长时间。
我还想过有一个云函数,它在朋友之间维护一个记分牌作为它自己的集合,每当有新的捕获时更新它,但这不起作用,因为新朋友可以加入该组并且不会该列表的一部分。
我没有编写任何查询来尝试完成此操作,因为我确信我尚未想到的另一种方法能够完成此操作,因此正在征求建议 :) 非常感谢!
【问题讨论】:
标签: firebase google-cloud-firestore