2017-01-03 2 views
1

Firebase에서 내 웹 응용 프로그램에 올바른 데이터를 가져 오는 데 문제가 있습니다.Firebase에서 중첩 된 데이터에 액세스

문제는 '임의 번호'라는 개체에서 원하는 데이터입니다. 모든 필드를 변수로 가져 와서 테스트 할 수 있기를 바랄뿐입니다. 모든 데이터를 표시 할 수 있도록 내 페이지를 설정해야합니다. 그러나 나는 그들을 사용하기 위해 이러한 키를 질의하는 방법에 대해 분실되어있다.

database

은 지금은 단지 데이터 구조에 대한 느낌을 얻을 수있는 콘솔에 데이터를 기록하고있다. 추신. 나는 데이터를 정리하지 않았고 누군가 나보다 먼저 해냈다. 내가 가진 두 개의 주석 변수를 가질

code

심지어 내가 데이터를 얻을 수 있는지 확인하기 위해 키의 중 하나를 입력하려했지만 작동하지 않습니다. 당신이 inspectors에서 모든 것을 검색하는 경우

+0

더 명확해야합니다. 임의의 키는 무엇입니까? 그리고 어떻게 그것을 쿼리하고 싶습니까? 특정 열린 티켓 속성을 사용하여 쿼리하고 싶습니까? – cartant

+0

아래의 openTickets는 이름에 임의의 키가있는 티켓 목록입니다. 필자는 Firebase을 처음 접했고 JSON 데이터에 익숙해졌으며 데이터를 쉽게 얻을 수있었습니다. 나는 가면 컨셉 테스트의 증거 일 뿐이다. 나는 티켓 데이터를 DB와 console.log에서 선택하려고한다. 이 시점에서 필자는 Inspector에서 console.log를 얻었습니다. –

답변

3

,이 같은 데이터에 액세스 할 수 있습니다 :

firebase 
    .database() 
    .ref() 
    .child('inspectors') 
    .child('obfuscated') // This key is obfuscated in your question. 
    .child('openTickets') 
    .once('value', function (openTicketsSnapshot) { 

    openTicketsSnapshot.forEach(function (openTicketSnapshot) { 
     console.log(openTicketSnapshot.key); // The random key. 
     var val = openTicketSnapshot.val(); 
     console.log(val.address); 
     console.log(val.assignedInspector); 
     // etc. 
    }); 
    }); 

: 또한 쿼리 자체를 구체화 할 수 있습니다

firebase 
    .database() 
    .ref() 
    .child('inspectors') 
    .once('value', function (inspectorsSnapshot) { 

    inspectorsSnapshot 
     .child('obfuscated') // This key is obfuscated in your question. 
     .child('openTickets') 
     .forEach(function (openTicketSnapshot) { 
     console.log(openTicketSnapshot.key); // The random key. 
     var val = openTicketSnapshot.val(); 
     console.log(val.address); 
     console.log(val.assignedInspector); 
     // etc. 
     }); 
    }); 

원하는 데이터 만 검색 그리고 처음 몇 엔트리 만 원할 경우 :

firebase 
    .database() 
    .ref() 
    .child('inspectors') 
    .child('obfuscated') // This key is obfuscated in your question. 
    .child('openTickets') 
    .limitToFirst(10) 
    .once(... // etc. 
+0

고맙습니다. 나는 그것을 시도 할 것입니다. 나는 두 가지 자식 방법을 연결할 수 있다는 것을 깨닫지 못했습니다. 나는 지금해야할 일을 알고 있다고 생각합니다. 나는 obviscated를 변수에 넣고 거기에 넣어야 할 것이다. –

관련 문제