2014-10-11 6 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); 

이런 식으로 해를 끼치십시오. 문서에서 나는이 방법을 내가하는 것만 큼 사용하지 않는 것 같아서 내가하는 방식대로하면 문제가 발생할 수 있다고 걱정했다. Firebase guide on understanding its data structure에서

+0

문서에 따르면 .child() 메서드를 사용할 때와 같은 효과가 있습니다. – webduvet

답변

3

:

이 직접뿐만 아니라 데이터에 자식 노드에 액세스 할 수 있습니다. 예를 들어, 메리 첸의 이름을 가리 키도록, 단순히 URL에 사용자/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가 여러 참조를 가지고 있어도 데이터를 한 번만 다운로드하면된다는 것을 보장합니다.