根据用户组,我想在我的应用程序中管理对某些数据的访问。我正在使用Firestore。
这是我在数据库中设置数据的方式:
groups:
0PkuNM6RmQi0R4kNrN6E:
name: "Group 1"
users:
user1_uid: true
user2_uid: true
user3_uid: true
UaN0fsM8aK1lGGPKAhPp:
name: "Group 2"
users:
user4_uid: true
documents:
tGKE1rmax4fwc8xm9V5a:
title: "Document 1"
desc: "Description 1"
group: "UaN0fsM8aK1lGGPKAhPp"
作为入口点,我只有当前用户的user_uid。我想获取小组可以访问的所有文档。
是否有一种方法只能通过数据库中的“规则”并通过发出如下基本请求来进行管理:
databaseDocumentRef..collection("documents").get()
我对规则有一些尝试,但没有成功。
谢谢。
答案 0 :(得分:0)
您不能使用规则按某些条件过滤文档。请阅读文档:Rules are not filters。您可能必须通过多次查询来查询数据库中所需的确切数据。规则只能帮助您强制执行单个查询的要求,而不能更改其结果。