2017-12-21 13 views
0

Cloud Firestore를 사용하는 프로젝트에 대한 내 DB의 구조를 계획 중이며 현재 데이터를 저장하고 사용자와 연결하는 최선의 방법을 찾고 있습니다. 구체적인 내용은 다음과 같습니다.Cloud Firestore에서 여러 문서 하위 모음을 쿼리 할 수 ​​있습니까?

DB의 루트에 사용자 문서 모음이 있으며 사용자가 해당 게시물을 표시하는 사용자 프로필 페이지를보고 액세스 할 수 있도록하고 싶습니다. 사용자 및 모든 사용자가 게시물을 표시하는 페이지를보고 집계합니다.

사용자 문서를 사용자 문서의 하위 모음에 저장하면 사용자의 소식을 프로필로 가져 오는 것이 매우 쉽지만 모든 사용자의 게시물 하위 모음을 하나로 합친 우아한 쿼리를 작성할 수 있습니다 결과 집합?

또는 내 콜백 된 게시물의 루트에 다른 콜렉션을 갖고 사용자의 UID 또는 사용자 문서의 비정규 화 된 복사본을 포함하는 각 게시물에 필드를 추가하는 것이 더 나은 접근 방법입니까?

답변

1

단일 문서 컬렉션에 대해 쿼리가 실행됩니다. 여러 (하위) 컬렉션에서 쿼리 할 수있는 방법은 없습니다 (현재).

즉, UID에 owner 속성이있는 최상위 레벨 documents 컬렉션에 사용자 문서를 보관하고 싶을 것입니다. 그런 다음 간단한 documentsRef.where("owner", "==", uid)으로 사용자의 소식을 선택할 수 있습니다.