У меня есть следующие правила для моей коллекции пользователей в моем firestore. Я стремлюсь к тому, чтобы пользователь мог только обновить поле имени своего соответствующего пользовательского документа. Я проверил это на симуляторе правил, имеющем данные с полезной нагрузкой объекта с единственным ключом name
. Однако запрос отклонен.
К сожалению, я не могу отладить ценность ресурсов, поэтому я не могу понять, почему это отказано?
match /users/{user} {
allow read;
allow write: if user == request.auth.uid
&& request.resource.data.keys().hasOnly(["name"]);
}
Я попытался закомментировать условие && request.resource.data.keys().hasOnly(["name"]);
, и он разрешил обновление, поэтому проблема не в request.auth
.
Я думаю, что это может быть проблема с обновлением и использованием request.resource.data
, но в симуляторе нет опции для отправки set
запроса.
Какие правила я могу написать, кроме того, что позволяет update
, только если он имеет ключи name
?