2017-05-10 2 views
0

내가 제안 구글로 만들어 링크 예약과 클라이언트 문서가 :중포 기지 및 각도 두 아이들이 읽기 제한 계산하는 방법을

clients: { 
    clientkey1: { 
     name: Some Name, 
     reservations: { 
      reskey1: true, 
      reskey2: true 
     } 
    } 
} 

및 예약 문서 :

이제
reservations: { 
    reskey1: { 
     clientKey: clientkey1, 
     doctorName: Doctor Name 
    }, 
    reskey2: { 
     clientKey: clientkey1, 
     doctorName: Doctor Name 
    }, 
    reskey3: { 
     clientKey: clientkey2, 
     doctorName: Doctor Name 
    }, 
    reskey4: { 
     clientKey: clientkey3, 
     doctorName: Doctor Name 
    }, 
    reskey5: { 
     clientKey: empty 
    } 
} 

클라이언트의 응용 프로그램에서 나는 그의 예약을 나열해야하고 모든 예약을 세어 그가 차지하는 부분에 대한 정보를 얻고 얼마나 많은 장소가 여전히 이용 가능한지를 알아야합니다. clientKey를 사용하여 모든 예약 및 필터를 다운로드 할 수 있지만 다른 클라이언트의 예약 데이터로 전체 데이터를 다운로드하지 않는 방법은 무엇입니까?

예약에서 키만 다운로드 할 수 있습니까?

답변

0

아니요, 그러나 you could count with Cloud Functions for Firebase입니다.

exports.countReservations = functions.database.ref('/reservations/{id}').onWrite(event => { 
    const collectionRef = event.data.ref.parent; 
    const countRef = collectionRef.parent.child('reservationCount'); 

    return countRef.transaction(current => { 
    if (event.data.exists() && !event.data.previous.exists()) { 
     return (current || 0) + 1; 
    } else if (!event.data.exists() && event.data.previous.exists()) { 
     return (current || 0) - 1; 
    } 
    }); 
});