【发布时间】:2021-06-21 15:28:56
【问题描述】:
我有一种情况,用户可以创建一个文档,然后与一组其他用户共享。他们可以将其分享给多个不同的组。我不知道如何为此设置规则。
这是数据库结构:
因此,在组中,您有一个已共享给它的文档列表。我的应用程序加载用户所在的组,然后想要加载文档数组中的所有文档。我需要一种方式服务器端说这没关系。到目前为止,只有文档的所有者可以阅读它。
我在每个文档中放置了一个字段,其中包含与其共享的每个组的 ID。我想我想说“检查用户是否是 sharedToGroups 中任何组的成员”列表,但我无法弄清楚如何做到这一点,除非我在 userProfile 文档中的某个地方维护另一个列表,其中包含一个圆圈列表用户是其中的一员。即便如此,我也会尝试比较 2 个列表,但我不确定我能否做到这一点。
如果能够以某种方式从发出请求的位置获取组 ID 并查看它是否在 sharedToGroups 数组中,那就太好了。
任何关于如何实现这一点的帮助或 cmets 将不胜感激,也许它需要不同的数据库结构。
【问题讨论】:
标签: firebase google-cloud-firestore firebase-security