2017-10-06 4 views
2
는 아래 그림과 같이 클라우드 경우 FireStore의 안드로이드 샘플 응용 프로그램이 데이터베이스 구조를 가지고

하십시오클라우드 경우 FireStore 데이터베이스 구조

enter image description here

지금 여기 (등급 최초의 레스토랑 평가의 매우 많은 수를 가지고있는 상황을 고려하다 컬렉션은 첫 번째 레스토랑의 ID에있는 다른 문서들과 함께). 나는 이름과 도시 같은 모든 레스토랑의 기본 정보를 보여주고 싶습니다.

아래 그림과 같이 내가 참조를 작성하여이를 수행 할 것이다 : 나는이에 대한 질문에 다음과 같은 한

mRestaurantRef = mFirestore.collection("restaurants").document(restaurantId); 

:

  • 내가 문서의 스냅 샷을 얻고 있기 때문에 할 수있는이 올바른 방법인가 또한로드 속도를 줄일 수 있기 때문에 지금은 필요하지 않은 등급 수집을 포함하고 있습니까?
  • firebase 실시간 데이터베이스에서와 같이 firestore 데이터베이스 구조를 변경하고 평평하게해야합니까?

답변

4

Firestore의 RTDB에 대한 주요 차이점 중 하나는 스냅 샷을 요청하면 문서의 하위 모음이 검색되지 않는다는 것입니다. 당신은 당신이 나중에 별도의 쿼리와 함께 레스토랑에 대한 등급 (또는 등급의 제한된 양의) 검색 할 수 있습니다 mRestaurantRef.get()

를 호출 할 때, 단지 기본 사항이 아닌 평가가로드되는 것을 의미합니다

.

모든 레스토랑의 문서 스냅 샷 목록을 얻으려면 mFirestore.collection("restaurants").get() (필요한 경우/orderBy/limit가 필요함)으로 전화 할 수도 있습니다. 다시 기본 데이터 만 모든 등급과 독립적으로 검색됩니다.

+0

감사합니다. 나는 그것을 몰랐다 :) –

관련 문제