那么我们有一个问题。我们对firebase很陌生,在尝试在一个新数据库中获得一些FK(或其他数据库的引用)时遇到了一些问题。如何在Firebase数据库中获取嵌套对象
领域用户我想有指向表用户。所以,当我试图让从表中的数据帐户上的用户ID &检查我应该能够得到而不是使user_tracklist 2查询的
那么我们有一个问题。我们对firebase很陌生,在尝试在一个新数据库中获得一些FK(或其他数据库的引用)时遇到了一些问题。如何在Firebase数据库中获取嵌套对象
领域用户我想有指向表用户。所以,当我试图让从表中的数据帐户上的用户ID &检查我应该能够得到而不是使user_tracklist 2查询的
您可以保存内部accounts/{accountId}/user
tracklist
节点,所以你要去有tracklist
两个副本,一个在用户内部,另一个在帐户端点内。
也保存accountId
内部,以便能够对端点accounts/{accountId}/user/trackinglist
更新的trackinglist
副本,当一些变化与trackinglist
实体发生的终点users
。
请出relational DB
世界。 firebase-database没有JOIN,WHERE
子句的概念。它适用于JSON Objects
的概念。
请记住:
Firebase
表明非规范化你的数据尽可能你可以做。她喜欢重复的数据
Firebase
使用Sockets
,你建立连接一次,然后管道您的查询(给我一个帐户,现在把我账户的用户,等等等等等等)。所以如果你需要的话,不用担心做多个查询。
在你的数据结构,你试图压平/非规范化的数据,但
更改此:
user:"{deftones:true}"
要:
-user
-deftones:true
和去erstand如何检索参考数据,你必须看看我上面提到的文章
那么这就是我不想存储数据两次的问题。我只是想在我的桌面用户中引用Refference Key,当数据变大时,存储数据两次会导致数据太多。我只是想知道,如果我可以在该领域得到一个参考 –
在这种情况下,你必须做第二次请求'用户',没有办法存储一些引用,这会让你'tracklists',唯一的选择是复制vs '做两个请求'。 我个人更喜欢重复的,因为如果你有很多数据可能会导致性能问题,你必须得到重复使用,nosql数据库是为了这个目的,在这里我们没有连接,外键像我们在sql数据库。 –