2017-11-16 3 views
1

로 반복 처리 컬렉션 :중포 기지 경우 FireStore -이 같은 규칙에 정의 된 제한된 보안 규칙 경우 FireStore에서

service cloud.firestore { 
    match /databases/{database}/documents { 
    match /{document=**} { 
     allow read, list: if request.data.visibility == "public"; 
    } 
    } 
} 

가 그럼 난 모든 공공 문서를 얻으려면을, 그래서 사용하여 컬렉션에 가입 AngularFire :

this.docs = db.collection('documents', ref => ref.where("visibility", "==", 'public')).snapshotChanges(); 

그러나이 예외 :

없거나 권한이 부족.

이 문제가 발생합니까? 제한된 문서로 컬렉션을 반복 할 수 있습니까? 나는 subcollections의 큰 팬이 아니지만, 이것을 달성하는 유일한 방법은 무엇입니까?

+0

Thx for your answer answer! 나는 옳은 대답을 보여주기 위해 질문을 바꾸지 않을 것이다. 혼란 스럽네. 올바른 구현 방법과 잘못된 구현 방법으로 질문하는 것이 좋습니다. :) – atlanteh

답변

2

해결되었지만 목록 규칙이 누락되었습니다. 또한 문서 컬렉션을 추가하지 않았습니다. 최종 규칙은 다음과 같습니다.

service cloud.firestore { 
    match /databases/{database}/documents { 
    match /documents/{document=**} { 
     allow read, list: if resource.data.visibility == "public" 
    } 
    } 
} 
관련 문제