2017-04-07 1 views
0

그래서 firebase에서 다음과 같은 트리 구조로되어있는 경우 Name == "Employee 1"인 고유 키를 가져올 수 있으며 키 "LJrWJlgUPWUaPQx0ok09CswIkXg2"를 반환해야합니까? 내가 제대로 질문을 이해한다면하위 속성 매치를 기반으로 키 가져 오기

"Users" : { 
    "LJrWJlgUPWUaPQx0ok09CswIkXg2" : { 
     "Shifts" : { 
     "dfaskjhfkashdf" : { 
      "endTime" : 1490907600, 
      "startTime" : 1490878800 
     } 
     }, 
     "email" : "[email protected]", 
     "employeeId" : "LJrWJlgUPWUaPQx0ok09CswIkXg2", 
     "fcmToken" : "eOVPmlxy9fc:APA91bEChCT-JwnH14yLrkWBdWBR-KJwj_FznOgwSzu-2JbL2hD5tRTl-7GkavLSihSzJMJ2_f7FjDhUgnU464EKNGaTUjoV0ZuLbJMlxtJeghhRCBDTbkm_J_yiH29IDXHVjmxbfVHw", 
     "name" : "Employee 1", 
     "password" : "Employee1", 
     "startDate" : "2017-01-23" 
    } 

답변

0

,이 트릭을 수행한다고 :

firebase.database().ref('Users') 
    .orderByChild('name') 
    .equalTo('Employee 1') 
    .limitToFirst(1) 
    .once('value', snap => { 
    let key = Object.keys(snap.val())[0]; // LJrWJlgUPWUaPQx0ok09CswIkXg2 
    let user = snap.child(key).val(); // the whole user object 
    }); 
+0

을 것입니다 내가 여러 사용자가있는 경우이 작동합니까? –

+0

지정된 이름의 * first * 사용자를 찾는 쿼리입니다. 동일한 이름을 가진 사용자가 여러 명인 경우 사용자 중 한 명만 반환하므로 문제가 발생하지 않는지 확인해야합니다. –

+0

거룩한 감사 형제! 그게 작동 –

관련 문제