Итак, я делаю маленькое приложение, работающее в Firestore, и оно было довольно хорошим и все такое.Единственная проблема, с которой я столкнулся, это то, что написание правил БД стало очень утомительным очень быстроНа это есть несколько причин.
- Я пытаюсь следовать хорошей практике ведения огня и мои данные денормализованы в БД.Это часто означает, что для одной транзакции мне нужно написать несколько правил для нескольких документов.
- Многие мои разрешения зависят от поля.Например, есть запись
Book
.Пользователь не может изменять какую-либо информацию о книге, кроме ее поля reservedBy
, и только в том случае, если рецензия на книгу бесплатна для резервирования.Кроме того, вы можете забронировать книгу только для себя, а не для кого-то еще.Тот факт, что вам приходится учитывать все возможные нелегальные ходы, делает его довольно многословным. - Кроме того, симулятор firebase для тестирования правил довольно глючный и часто выдает ложные результаты (имел несколько проблем с этим икоманда поддержки подтвердила, что это были ошибки).
Мне очень хочется просто отказаться от правил и использовать функции firebase для all моего доступа к БД.Однако прежде чем я сделаю это, мне было бы интересно узнать, что пользователи Firebase обычно делают, когда их приложение растет.Есть ли какие-то приемы, чтобы сделать правила более краткими или переход на функции Firebase является обычной практикой для больших приложений?
Я понимаю, что этот вопрос является потенциальной целью для закрытия как слишком широкого / основанного на мнениях, но у меня естьТакое ощущение, что среди людей, которые какое-то время пользовались огненной базой, есть некоторые устоявшиеся практики и соглашения.Было бы интересно узнать, что они.
Спасибо.