首页 > 解决方案 > Firestore 数据结构从朋友和朋友的朋友那里获取项目

问题描述

我遇到了一个我真的找不到好的解决方案的问题。我正在使用 Firebase Firestore 一个 NoSQL 数据库。我正在尝试从允许用户查看的朋友和朋友的朋友那里获取所有上传。允许值取决于上传者是否选择了对朋友或朋友的朋友或自定义用户组可见的项目。

到目前为止,我尝试将安全规则设置为仅当请求者位于项目的 forUsers 数组中时才读取。原来安全规则不是为这种查询制定的......

另一种选择是用户的根集合和项目的根集合。每个项目都在上传者所有朋友的名为 item_refs 的子集合中引用。使用此设置来获取提要的数据,需要获取 3 个查询:

  1. 获取所有当前用户 item_refs
  2. 从朋友那里获取所有的 item_refs,这些 item_refs 是给朋友的朋友或每个人的。
  3. 为每个人获取所有物品。

这对于按距离查询上传数据来说尤其糟糕。

谁能想到更好的解决方案?

标签: databasefirebasegoogle-cloud-firestorenosqldata-modeling

解决方案


推荐阅读