Firestore Rules - получить размер параметров запроса - PullRequest
0 голосов
/ 25 марта 2019

В пожарном депо request.resource.data.size() соответствует размеру документа в окончательном виде .У меня вопрос, как я могу получить параметры, которые отправляются от клиента?

То есть, если я пытаюсь обновить свойство name, то я хочу проверить, обновился ли клиент name и размер отправленных им параметров - всего один параметр.Я бы использовал hasExact(), если бы он существовал, но проблема в том, что я не уверен, что если есть объект, который указывает запрашиваемые параметры.

С текущим request.resource.data.size(), я не уверенкак можно выполнять следующие операции:

  1. Запретить запись updatedAt свойство (которое обновляется как отметка времени сервера при каждом обновлении) без дополнительного свойства.
  2. Запретить обновление свойстваэто уже эквивалентно запрошенному значению.

1 Ответ

0 голосов
/ 25 марта 2019

Трудно сказать по вашему вопросу, что именно вы хотите сделать.Не похоже, что размер обновления - это единственное, на что вам нужно обратить внимание.Без более конкретного примера я просто собираюсь угадать, что вам нужно

Но вы должны знать, что request.resource.data - это объект типа Map .Перейдите к связанной документации API, чтобы узнать, что вы можете сделать с картой.Эта карта будет содержать все поля документа, который обновляется клиентом.Если вам нужно значение одного из этих полей, вы можете сказать request.resource.data.f, где f - это имя поля.Это должно помочь вам выразить вашу логику.

Если вы хотите значение существующего поля документа, перед тем как его написать, используйте карту resource.data, которая работает аналогичным образом.

...