Количество полей обновления в правилах безопасности пожарного депо - PullRequest
0 голосов
/ 23 января 2019

Я выполняю пакетную операцию с клиента, чтобы обновить только одно поле, но при выполнении пакетной операции и при тестировании в правилах безопасности наблюдается, что обновляется более одного поля. Я проверил это с помощью request.resource.data.size() >1 и request.resource.data.keys().size()>1, возвращая true (документ обновляется), но это не предназначено, так как я хочу проверить в правилах безопасности, что только одно поле обновляется с помощью проверок, таких как request.resource.data.keys().hasOnly(['someFieldToUpdate']), но это не так работая сейчас, ранее я помню, что writeFields проверял это, но его нет сейчас в документации, а также этот ответ упоминает об этом. Итак, как я могу проверить поля, которые на самом деле обновляются в пакетных операциях сейчас?

1 Ответ

0 голосов
/ 23 января 2019

Поле request.resource.data содержит ресурс, который будет существовать после успешного выполнения операции записи.Свойство writeFields было удалено, поскольку оно не всегда может быть надежно заполнено.

В настоящий момент единственная опция, о которой я могу подумать, - это проверить, изменилось ли каждое отдельное поле, а затем разрешить ее, только если есть одно изменение.,Но, честно говоря, это звучит как странный вариант использования.Я считаю, что более распространенный вариант использования ограничивает какие конкретные поля, которые пользователь может обновлять, а не сколько они могут обновлять одновременно.

...