朋友列表的Firebase安全规则
是否有一种有效的方法在Firebase中的节点列表上实施安全规则,以防止许多网络连接和查询 我正在用一个用户列表做一个应用程序,每个用户都有一个他们想与朋友列表中的人共享的帖子列表(基本上有点像社交网络) 一种方法是有一个“/users”表,其中每个用户在其用户节点下有一个朋友列表“/users/xxx/friends”,以及一个他们自己的帖子列表“/users/xxx/posts”。要查询其所有朋友最近的帖子,需要进行许多Firebase查询,每个用户朋友的“帖子”节点一个 如果有人想查询好友列表中每个人的“帖子”,这需要同时进行许多查询,因为Firebase不允许有人查询整个“用户”表并过滤掉好友列表中没有的任何帖子 另一个选项是为所有用户提供一个单独的“/posts”列表,可以在一个操作中查询这些用户。但是,在这种情况下,您也无法实施安全规则来仅过滤朋友的帖子,因为Firebase不允许根据安全规则过滤“帖子”列表朋友列表的Firebase安全规则,firebase,firebase-realtime-database,Firebase,Firebase Realtime Database,是否有一种有效的方法在Firebase中的节点列表上实施安全规则,以防止许多网络连接和查询 我正在用一个用户列表做一个应用程序,每个用户都有一个他们想与朋友列表中的人共享的帖子列表(基本上有点像社交网络) 一种方法是有一个“/users”表,其中每个用户在其用户节点下有一个朋友列表“/users/xxx/friends”,以及一个他们自己的帖子列表“/users/xxx/posts”。要查询其所有朋友最近的帖子,需要进行许多Firebase查询,每个用户朋友的“帖子”节点一个 如果有人想查询好友
我能看到的唯一方法是只为朋友列表中的人查找“帖子”列表,即为每个朋友同时发出多个查询。我发现很难准确解析此描述。作为开发人员,我们通常更习惯于阅读代码/数据结构。与其描述您的数据结构和查询,不如共享实际的JSON(作为文本,您可以通过单击中的导出JSON获得)和查询的代码。感谢@FrankvanPuffelen,为清晰起见进行了编辑
{
"users" : {
"FKOZlhz05xrVvKGl2" : {
"name" : "John Smith",
"friends" : {
"Tz7Ztv546lOaowrq2" : true
}
"posts" : {
"-Kc-n235d5" : {
"text" : "This is a status update"
}
},
"Tz7Zt546jlOaowrq2" : {
"name" : "Helen test",
"friends" : {
"FKOZlhz05xrVvKGl2" : true
},
"posts" : {
"-Kc-neow05" : {
"text" : "Another status update"
},
"-Kc-ab3243" : {
"text" : "Feeling confused"
}
}
}
}