database - Firestore 数据结构从朋友和朋友的朋友那里获取项目
问题描述
我遇到了一个我真的找不到好的解决方案的问题。我正在使用 Firebase Firestore 一个 NoSQL 数据库。我正在尝试从允许用户查看的朋友和朋友的朋友那里获取所有上传。允许值取决于上传者是否选择了对朋友或朋友的朋友或自定义用户组可见的项目。
到目前为止,我尝试将安全规则设置为仅当请求者位于项目的 forUsers 数组中时才读取。原来安全规则不是为这种查询制定的......
另一种选择是用户的根集合和项目的根集合。每个项目都在上传者所有朋友的名为 item_refs 的子集合中引用。使用此设置来获取提要的数据,需要获取 3 个查询:
- 获取所有当前用户 item_refs
- 从朋友那里获取所有的 item_refs,这些 item_refs 是给朋友的朋友或每个人的。
- 为每个人获取所有物品。
这对于按距离查询上传数据来说尤其糟糕。
谁能想到更好的解决方案?
解决方案
推荐阅读
- grails - Grails 域属性可以为空 - 默认情况下为真?
- google-apps-script - Info on Document has vanished
- javascript - 为什么 react-native 中的默认视图宽度为 100%?为什么使用 alignItems 时没有默认宽度?
- python - 烧瓶中的 SQLalchemy 问题
- intellij-idea - 带有 Bazel 的 Java 项目中的 IntelliJ“找不到要访问的声明”问题
- regex - 删除字符串开头的括号
- python - Pandas DataFrame - 用于字符串/布尔出现计数的滚动列 value_counts()
- opencv - OpenCV 中的 GStreamer API:autovideosink 与 appsink
- javascript - NGX Datatable 将行匹配到列属性
- jquery - 页面加载jquery时吐司警告