2014-10-11 65 views
0

最初,當我開始使用Firebase時,我在設置特定格式的數據時遇到了問題,我想出的解決方案是每次我想要一條不同的路徑時創建一個新的Firebase,而在Firebase網站上幾乎總是使用兒童選擇器。例如:創建多個Firebase對象

var groupRef = new Firebase(FB + "/group"); 
var groupUserRef = new Firebase(FB + "/group/" + groupID + "https://stackoverflow.com/users/" + uid); 

var connectedGroupsRef = new Firebase(FB + "/connectedGroups/" + uid + "/" + groupID); 
var connectedGroups = connectedGroupsRef.set(true); 

有沒有在做這種方式的任何傷害?在文檔中,它似乎並沒有像我那樣使用這種方法,所以我擔心這樣做可能會導致一些問題。

+0

根據文檔它具有與使用.child()方法相同的效果 – webduvet 2014-10-11 22:35:44

回答

3

Firebase guide on understanding its data structure

有可能直接訪問子節點的數據也是如此。例如,指向瑪麗·陳的名字,只需追加用戶/ mchen /名稱的網址:

new Firebase("https://docs-examples.firebaseio.com/web/data/users/mchen/name");

我們可以用孩子()API調用實現從現有父引用相同的結果:

var rootRef = new Firebase('https://docs-examples.firebaseio.com/web/data'); rootRef.child('users/mchen/name');

因此,有創造的直接引用一個子節點或通過一個或多個會之間的效率沒有差別10個電話。

將實際的數據綁定抽象到JavaScript客戶端庫中的這些調用後面。這也是Firebase確保只需下載一次數據的方式,即使您有多個引用。