我们有问题。我们对firebase很安静,并且在尝试在新数据库中获取一些FK(或其他数据库的引用)时遇到了一些问题。
在现场用户中我希望获得对表用户的引用。因此,当我尝试从表帐户&检查用户ID我应该能够获得user_tracklist而不是2个查询
答案 0 :(得分:2)
您可以将tracklist
节点保存在accounts/{accountId}/user
内,这样您就可以拥有tracklist
的两个副本,一个在用户内部,另一个在帐户端点内。
在端点accountId
内还保存users
,以便在trackinglist
实体发生某些更改时能够更新端点accounts/{accountId}/user/trackinglist
上trackinglist
的重复项
答案 1 :(得分:0)
请离开relational DB
世界。 firebase-database没有JOIN,WHERE
子句的概念。它适用于JSON Objects
的概念。
请记住:
Firebase
建议您尽可能地对数据进行非规范化。她喜欢重复数据
Firebase
使用Sockets
,您建立了一次连接,然后管道您的查询(给我一个帐户,现在带给我该帐户的用户,等等等等)。因此,如果您需要,请不要担心多次查询。
在您的数据结构中,您尝试对数据进行展平/非规范化,但
改变这个:
user:"{deftones:true}"
要:
-user
-deftones:true
要了解如何检索参考数据,您必须查看我上面提到的文章