Мне нужно написать правила для Cloud Firestore.
Я хочу, чтобы мои правила позволяли создавать новый документ в коллекции:
newDoc(field1="value-1", field2="value-2", field3="other-miscellaneous-values")
, только если другой документ уже не существуетв коллекции с:
(field1 == "value-1") and (field2 == "value-2")
Хотя это не очень сложно, но все же слишком сложно, чтобы найти его в качестве примера в любом уроке, который я нашел в сети.
Кроме того,пользователь должен иметь возможность перечислять и читать все документы в коллекции, если он / она желает.
Вот что я пробовал, но это не работает:
service cloud.firestore {
function alreadyExists(document) {
return exists((resource.data.field1==request.resource.data.field1)&&
(resource.data.field2==request.resource.data.field2))
}
match /databases/{database}/documents {
match /My_Collection/{anything=**} {
allow read;
allow write: if !(alreadyExists(request.resource.data));
}
}
}
Iнадеюсь, кто-нибудь может дать мне несколько советов, чтобы заставить его работать.