【问题标题】:Model and Query data in Firestore to get items in directories在 Firestore 中建模和查询数据以获取目录中的项目
【发布时间】:2019-06-27 23:12:44
【问题描述】:

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

我目前的模型如下:

  • /folders/{folder}/folders/{subfolder}
  • /folders/{folder}/items/{item}
  • /folders/{folder}/folders/{subfolder}/items/{item}

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

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

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


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

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

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

【问题讨论】:

  • 你想达到什么目的?您正在构建某种文件系统吗?用户是否有权访问文件夹中的所有项目?
  • 我要归档的是事件。这些事件将被分组在这些文件夹中。这将是一种文件系统。虽然用户可以访问该文件夹,但他们可以访问所有这些事件

标签: firebase model google-cloud-firestore nosql


【解决方案1】:

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

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

【讨论】:

猜你喜欢
  • 2015-02-07
  • 2018-04-14
  • 2019-05-06
  • 2021-11-03
  • 2020-08-24
  • 2018-05-24
  • 2021-09-01
相关资源
最近更新 更多