Firebase Firestore / JS-根据用户组管理读/写访问

时间:2019-06-05 13:46:40

标签: javascript firebase google-cloud-firestore

根据用户组,我想在我的应用程序中管理对某些数据的访问。我正在使用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()

我对规则有一些尝试,但没有成功。

谢谢。

1 个答案:

答案 0 :(得分:0)

您不能使用规则按某些条件过滤文档。请阅读文档:Rules are not filters。您可能必须通过多次查询来查询数据库中所需的确切数据。规则只能帮助您强制执行单个查询的要求,而不能更改其结果。