Мне нужно дать анонимным пользователям возможность обновлять определенное значение внутри вложенной архитектуры, не давая разрешения на остальную часть документа.
events
- коллекция верхнего уровня, и я обновляю свой документ примерно так
update(`events/${event.id}`, {
[`boardgames.${boardgameId}.votes.${uid}`]: true,
})
Я пробовал это решение
allow update: if ((request.writeFields.size() == 1) && ('boardgames' in request.writeFields));
как упомянуто здесь , но это терпит неудачу (обе половины тоже терпят неудачу независимо).
Чего мне не хватает? Разве я не обновляю только одно поле при входе внутрь вложенного объекта?
Было бы очень полезно иметь возможность console.log для request
и request.writeFields
.
Обратите внимание, что в идеале я хотел бы разрешить изменение только самого глубокого свойства, текущего пользователя uid
внутри votes
.