如何利用好友请求构造firebase规则?

如何利用好友请求构造firebase规则?,firebase,react-native,google-cloud-firestore,firebase-security,Firebase,React Native,Google Cloud Firestore,Firebase Security,我有一个Firebase Cloud Firestore应用程序,其中包含一组友谊和一组友谊请求。这些集合中的每个文档都有两个朋友的uid(对于友谊)或潜在朋友(对于友谊请求)。第二个朋友接受请求后,文档将从友谊请求集合移动到友谊集合 当应用程序加载时,当前用户查询友谊集合中包含其uid的文档,列出这些文档中的其他uid(这些是他们朋友的uid),然后使用此列表查询用户集合,以检索有关其朋友的数据 对于如何编写firebase规则来阻止用户访问尚未接受其好友请求的用户的数据,有什么好策略?安全规

我有一个Firebase Cloud Firestore应用程序,其中包含一组
友谊
和一组
友谊请求
。这些集合中的每个文档都有两个朋友的
uid
(对于
友谊
)或潜在朋友(对于
友谊请求
)。第二个朋友接受请求后,文档将从
友谊请求
集合移动到
友谊
集合

当应用程序加载时,当前用户查询
友谊
集合中包含其
uid
的文档,列出这些文档中的其他
uid
(这些是他们朋友的
uid
),然后使用此列表查询
用户
集合,以检索有关其朋友的数据


对于如何编写firebase规则来阻止用户访问尚未接受其好友请求的用户的数据,有什么好策略?

安全规则没有查询功能。对于大型收藏来说,这根本无法扩展。您需要以一种与安全规则功能配合使用的方式构建数据。

当您说“总体战略”时,您在寻找什么?所有安全规则的一般策略是只允许每个用户访问他们应该拥有的特定数据。在这之后的任何事情都需要实际编写满足这些要求的规则。文档中充满了关于规则如何工作的信息。根据从文档中了解到的内容,在编写您试图解决的规则时,您是否有特定的问题@DoughStevenson我的意思是,我有点不知道应该从哪里开始,如何检查friendships collection的内部文档以获得正确的uid,并阻止人们伪造友谊文档。有没有一种方法可以在firebase规则中查询集合,比如更强大的get()函数版本?没有,安全规则没有查询功能。对于大型收藏来说,这根本无法扩展。您需要以一种与安全规则的功能配合使用的方式来构造数据。@DougStevenson您能否添加此作为答案。