有时候,我们不想向最终用户显示整个文档。例如,假设我们有users
个集合,每个user
都有一个email
属性。我们要做的最后一件事是彼此显示用户的电子邮件。
因此,在RTDB中,it was simple的结构不是集合/文档。
在Cloud Firestore上,它不像RTDB那样简单。您无法按照stated in their docs的格式过滤文档:
在编写查询以检索文档时,请记住,安全规则不是过滤器,查询是全部或全部。
所以我考虑了两种选择:
user
集合拆分为public
和private
子集合。public
和private
使用不同的规则。换句话说-您可以阻止其他用户查看其他用户的private
文档。我知道没有单向的方法可以实现某些目标,但是我想知道是否存在一种更常规的方法来实现我要做的事情。
答案 0 :(得分:1)
您的第一个选项是最常见的,但是如果您的情况不起作用,请不要使用它。
请记住,使用#2选项,会增加客户端和服务器的复杂性。而且您会丢失客户端缓存,这可能会在性能和计费方面为您节省很多。