Правила безопасности вложенного Firestore - get () - PullRequest
0 голосов
/ 07 октября 2018

Кто-нибудь знает, могу ли я создать вложенные правила 'get' для доступа к разным данным в базе данных?И как?

// Assignment's document
match /assignments/{assignmentId} {
    function getAssignmentOwner(){
        return get(/databases/$(database)/documents/assignments/$(assignmentId)).data.owner;
    }
    function getAgencySupervisors(){
        return get(/databases/$(database)/documents/agencies/$(getAssignmentOwner())).data.supervisors;
    }

    allow write: if request.auth.uid in getAgencySupervisors();
    allow read: if request.auth != null;
}

В настоящее время возвращается «не разрешено».

1 Ответ

0 голосов
/ 22 августа 2019

Правила не являются фильтрами данных, вы должны использовать правила только для коллекций, документов или вложенных коллекций, вы не можете использовать правила для фильтрации результатов внутри документа.

Документ: https://firebase.google.com/docs/firestore/security/rules-structure

...