У меня есть выражение where для коллекции и я слушаю обновления. Я использую то же самое выражение, чтобы предоставить доступ для чтения. Когда условие where больше не выполняется для документа, я ожидаю, что он будет удален из моего снимка, но генерируется исключение, ссылающееся на правила разрешений.
Мое правило выглядит следующим образом
match /arenas/{arenaId}/channels/{channelId} {
allow read : if (request.auth.uid in resource.data.members);
}
Мой слушатель настроен так:
ref
.collection("channels")
.where("members", "array-contains", uid)
.onSnapshot(snapshot => {
Когда я беру id
из members
для определенного c канала, выражение where больше не сохраняется для этого конкретного канала. Вместо обновления, уведомляющего меня о том, что канал удален, я получаю исключение.
Это ожидаемое поведение или я делаю ошибку?
Если это , это ожидается, какой будет правильная реализация, или как я могу обойти это?