홈>
다중 테넌트 앱 컬렉션 그룹 쿼리에 대한 모범 사례는 무엇입니까? 예를 들어 테넌트 고객에 대한 모든 송장을 조회하십시오
/tenant/1/customer/2/invoices
인보이스라는 컬렉션 그룹 인덱스를 생성하고 테넌트 1에 대한 모든인보이스를받을 수 있도록하려면 어떻게해야합니까?
테넌트에 대한 쿼리를 막기 위해 몇 가지 보안 규칙을 설정하려고 시도했지만 여전히 테넌트에 대해 쿼리하고 있었기 때문에 여전히 액세스 거부 오류가 발생했습니다. 올바른 Firestore 규칙은 무엇인가요?
- 답변 # 1
관련 자료
- google cloud firestore - Firebase 규칙에 의해 수집 그룹 쿼리 거부
- mysql - sql - 2 개의 다른 group by 명령어를 사용하여 2 개의 쿼리를 하나로 결합하는 방법
- mysql - 유사한 필드로 그룹화하는 중첩 된 선택 쿼리
- go - Apache Beam 파이프 라인의 키 수집 유형별로 그룹화
- elixir - Phoenix에서 원시 텍스트 SQL 쿼리를 사용하는 것은 나쁜 습관입니까?
- firebase - Firestore 수집 그룹 쿼리 솔루션?
- oracle - 쿼리 조인 또는 그룹 별 선택
- json - Java에서 Request 객체의 컬렉션 필드를 정의 할 때 더 좋은 방법은 무엇입니까?
- Julia의 일부 기준에 따라 컬렉션을 그룹화하는 방법은 무엇입니까?
- indexing - 'GROUP BY'로 쿼리 속도를 높이려면 어떻게해야합니까?
관련 질문
- FirebaseError : 인증 규칙이 작동하는 경우에도 권한 누락 또는 부족 오류
- reactjs : WEB 용 Firestore 문서 내지도 객체의 각 데이터를 검색하는 방법
- firebase : 목록에서 Firestore 및 async /await 사용
- 물리적 IOS /Android 기기의 Firebase Firestore 에뮬레이터
- xml : RecyclerView는 아무것도 표시하지 않습니다.
- firebase : Firestore 성능
- firebase : Vue 애플리케이션에서 Firestore 문서를 삭제할 수 없습니다.
- Firebase Firestore 데이터를 방해하는 SwiftUI UserDefaults
- Firebase 쿼리 "IN"제한을 10으로 제한하는 해결 방법이 있습니까?
- Flutter에서 firebase의 이미지를 어떻게 캐시합니까?
Firebase 프로젝트는 다중 테넌트 앱에 적합하지 않습니다. 테넌트마다 다른 프로젝트를 만드는 것이 좋습니다.이렇게하면 향후 많은 문제가 해결됩니다.
단일 프로젝트에 다중 테넌시가 있어야하는 경우 현재 데이터베이스 구조는 콜렉션 그룹 쿼리에 대해이를 잘 지원하지 않습니다. 컬렉션 그룹은 예외없이항상쿼리하여 지정된 이름의 모든 컬렉션을 쿼리합니다. 규칙은 필터가 아니기 때문에 보안 규칙을 사용하여 결과를 필터링 할 수 없습니다. 필터링은 클라이언트에서만 가능하며 보안 규칙에 의해 확인됩니다. 현재 구조를 사용하면 컬렉션 그룹 쿼리로 쿼리하려는 각 문서에 테넌트의 ID를 저장하고 클라이언트가 결과에 대한 필터로 사용하도록해야합니다.