我在Firebase数据库中有以下结构:
root
- Users
- Posts
- -K_54s1smPPh6qN4znuT
- key1: val
- key2: val
- User:
- -K_54sSomeKeyFromUsersObject: "John Doe"
...
但我在文档中找不到任何示例,当我有这样的结构时,如何通过 UserKey
获取所有 Posts
.
我需要有关如何进行查询以比较这样的嵌套数据的帮助?
2 回答
解决此问题的一种方法是保存对用户帖子的引用 . 像这样:
因此,当您想要检索用户的所有帖子时,只需查看用户配置文件上的引用即可
我会建议一个替代方案
然后一个简单的查询将返回所有uid_0的帖子
这样就不需要收集post id了,然后尝试执行类似SQL的查询WHERE Posts.ID in(k1,k2,k3 ...),因为Firebase不直接提供这样的查询 .
回复关于如何处理单个帖子有多个用户时的后续评论...
获取包含uid_1:true的节点的代码类似,称为deep query或深路径 . 这是一篇较旧的帖子,但会给你很好的信息 .