那麼我們有一個問題。我們對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數據庫。 –