Для Cloud Firestore вы можете проверить , что поле description
не длиннее 100 символов с:
service cloud.firestore {
match /databases/{database}/documents {
match /col1/doc1 {
allow write: if resource.data.description.length <= 100;
match /subcollection1/{doc=**} {
allow write: if resource.data.description.length <= 100;
}
}
}
}
Это относится к col1/doc
и всем документам в subcollection1
.Обратите внимание, что эти правила не будут ограничивать длину описания, поскольку правила безопасности не могут изменять записываемые данные.Вместо этого правила отклоняют записи, где описание длиннее 100 символов.
Нет никакого способа (о котором я знаю) применять правила к каждой вложенной коллекции только одного документа.Самое близкое, что я знаю, это применить его ко всем документам и их подколлекциям:
match /col1/(document=**} {
allow write: if resource.data.description.length <= 100;
}
Это относится к валидации ко всем документам в col1
и ко всем подколлекциям под этим.