javascript - Firebase Firestore / JS - 根据用户组管理读/写访问
问题描述
在我的应用程序中,我想根据用户组管理对某些数据的访问。我正在使用 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()
我尝试了一些规则,但没有成功。
谢谢。
解决方案
您不能使用规则按某些条件过滤文档。请阅读文档:规则不是过滤器。您将不得不查询数据库以获得您需要的确切数据,可能是通过多个查询。规则只能帮助您强制执行单个查询的要求,而不是更改它们的结果。
推荐阅读
- python - 无法更改语言以获得所需的输出
- ruby-on-rails - 新的 Ruby on Rails 应用程序(不识别 Gemfile)
- docker - 将文件复制到 LCOW 中的 docker 映像
- android - 将图像信息从 Unity 传递到 Android 以使用 MLKit
- android - 在 notifyItemInserted 后 RecyclerView 不更新视图
- java - 字符串特殊字符
- java - 在 GridView 中重复的图像
- ruby - erubis: `scan': US-ASCII 中的无效字节序列 (ArgumentError)
- java - java.lang.ClassNotFoundException sun.misc.GC
- c# - 如何创建事件处理程序字典