【发布时间】:2019-12-11 06:30:47
【问题描述】:
我正在创建一个 iOS 应用程序,其中我的 firebase 实时数据库中有一组标准的用户数据。用户数据由姓名、年龄等值组成。结构如下:
user
- userId1
- name : Bob
- age : 25
- userId2
- name : Rob
- age : 24
- userId3
- name : Dylan
- age : 13
我还有另一个名为“connections”的数据,其结构如下:
connections
- userId1
- userId2 : 1
- userId3 : 1
假设当前用户 ID 是 userId1。现在,当我按下按钮时,我想获取 userId1 的所有连接数据,即 userId2 和 userId3。这里的问题是,如何查看“用户”结构并获取 userId2 和 userId3 的相关用户信息?
简单来说,我如何根据另一个结构中的数据过滤一个结构中的数据?只是似乎无法在线找到正确的解决方案。
我只能获取所有数据。不知道如何过滤数据。
【问题讨论】:
-
我也抛出了一个答案,但在这种情况下,在 Firebase NoSQL 数据库中,您不是在执行 查询 的意义上“过滤”。您只是在读取特定的数据节点 - /connections/userId1 节点来获取其子节点。读取节点和查询(过滤)数据是非常不同的动物;因此,例如,如果您想要所有 24 岁的用户,那将是一个查询(过滤器)。如果您知道数据的路径,在这种情况下,您正在观察(在这种情况下为 observeSingleEvent)该节点(也就是一次读取该节点)
-
是的,我明白这一点。我想我应该使用与 sql 相关的“join”这个词。非常感谢您提供的信息。
标签: ios swift firebase firebase-realtime-database