2016-08-27 2 views
0

각 사용자의 연락처 목록을 유지하는 의제와 같은 webapp을 구축하려고합니다. 따라서 각 사용자는 자신의 연락처 목록을 가질 수 있으며 특정 사용자와 로그 할 때이 사용자가 가진 연락처 만 표시하려고합니다.firebase이 특정 사용자에 대한 데이터를 얻습니다.

firebase.database().ref('contacts').orderByChild('uid').equalTo(uid).once('value') 


contacts/ 
    contact-id 
     firstName 
     lastName 
     uid 

이것은 지금 내가 사용하는 것이며, uid는 로그인 한 사용자의 ID입니다. 더 좋은 방법이 있나요? 미리 감사드립니다, Daniel! 이 같은

+2

무엇이'contact-id'입니까? –

답변

0

구조 데이터베이스 :

users: { 
    user1: { 
     name: "User 1", 
     contacts: { 
      contact1: true, 
      contact2: true 
     } 
    }, 
    user2: { 
     name: "User 2", 
     contacts: { 
      contact1: true, 
      contact3: true 
     } 
    } 
} 

이 UID와 사용자 1, 사용자 2를 교체합니다.

및 연락처 :

contacts: { 
    contact1: { 
     name: "Contact 1", 
     mobile: 00000 
    }, 
    contact2: { 
     name: "Contact 2", 
     mobile: 11111 
    }, 
    contact3: { 
     name: "Contact 3", 
     mobile: 22222 
    } 
} 

지금이 순간 누군가에 로그인, 당신은 현재의 UID를 얻을 것이다 당신은 현재 로그인 한 사용자의 연락처 목록을 찾을 수 있습니다.

firebase.database().ref('users/'+userUID+'/contacts').on('child_added', snapshot => { 
    firebase.database().ref('contacts/'+snapshot.key).on('value', snap => { 
    console.log(snap.val().name); //Print name of persons in contact list 
    }); 
}); 
관련 문제