firebase - 在 Firestore 中建模和查询数据以获取目录中的项目
问题描述
我想在 Firestore 中对数据进行建模,以获取由多个用户共享的目录中的项目(文件夹受安全规则保护)。
我目前的模型如下:
- /文件夹/{文件夹}/文件夹/{子文件夹}
- /文件夹/{文件夹}/items/{item}
- /文件夹/{文件夹}/文件夹/{子文件夹}/items/{item}
用户可以访问多个文件夹,如果他访问根文件夹,他也可以访问子文件夹。他还可以访问子文件夹(如果他有权限),并且他对根文件夹的访问受到限制。
这个想法是系统可以列出用户可以访问的所有项目。
有没有办法不必对每个文件夹进行查询?
如果我对每个文件夹进行查询,我将对每个根和每个子文件夹进行查询。会有很多查询
复制项目中文件夹的访问角色可能是一种选择,但在修改权限时会出现大问题
该目录最多只能有两个深度级别(根文件夹和子文件夹)。
解决方案
您可以为每个用户创建一个文档,您可以在其中编写用户可以访问的每个文件夹 ID。然后你可以只查询这些文件夹。
如果您有很多用户可以访问的事件,我建议向用户显示文件夹结构,就像在文件系统中一样。因此,您可以为用户不需要的文档节省大量不必要的读取。
推荐阅读
- html - 图像忽略容器高度
- python - 根据关键字更改列中的特定值
- c# - 列表中有多个相同的元素,如何只显示一次,没有重复?
- javascript - 如何在 Vue 项目中使用 scss 文件和字体
- android - 尝试将 Firebase 存储图像设置为 ImageView Android 时出现问题
- c# - 在 C# 中将数字字符串转换为枚举
- uwp - 如何添加空白 UWP 应用作为另一个空白 UWP 应用的参考?
- r - 将一个列表中的数据框行绑定到另一个列表中的数据框
- angular - 材质对话框没有响应
- javascript - AES 加密/解密代码 Javascript(在浏览器中)