首页 > 解决方案 > 在 Firestore 中建模和查询数据以获取目录中的项目

问题描述

我想在 Firestore 中对数据进行建模,以获取由多个用户共享的目录中的项目(文件夹受安全规则保护)。

我目前的模型如下:

用户可以访问多个文件夹,如果他访问根文件夹,他也可以访问子文件夹。他还可以访问子文件夹(如果他有权限),并且他对根文件夹的访问受到限制。

这个想法是系统可以列出用户可以访问的所有项目。

有没有办法不必对每个文件夹进行查询?


如果我对每个文件夹进行查询,我将对每个根和每个子文件夹进行查询。会有很多查询

复制项目中文件夹的访问角色可能是一种选择,但在修改权限时会出现大问题

该目录最多只能有两个深度级别(根文件夹和子文件夹)。

标签: firebasemodelgoogle-cloud-firestorenosql

解决方案


您可以为每个用户创建一个文档,您可以在其中编写用户可以访问的每个文件夹 ID。然后你可以只查询这些文件夹。

如果您有很多用户可以访问的事件,我建议向用户显示文件夹结构,就像在文件系统中一样。因此,您可以为用户不需要的文档节省大量不必要的读取。


推荐阅读