Я только начал разбираться с правилами Firestore, и моя голова быстро расширяется.
Я пытаюсь понять, как применить правило к одной коллекции, а другое правило ко всем другим коллекциям иих подколлекции.
Итак, я начну с правила по умолчанию, которое поставляется вместе с Firestore:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write;
}
}
}
, которое разрешает доступ на чтение и запись ко всем коллекциям и их документам.
Но предположим, что я хочу применить правило к документам в одной коллекции и сохранить правило по умолчанию для всех других коллекций.Следующее не будет работать:
service cloud.firestore {
match /databases/{database}/documents {
match /suppliers/{supplier} {
allow create: if !exists(/databases/$(database)/documents/supplierABNs/1260)
}
match /{document=**} {
allow read, write;
}
}
}
, потому что второе правило переопределит первое.
Есть ли способ сделать то, что я пытаюсь сделать?