Изменить данные снимка в функции пожарного депо? - PullRequest
0 голосов
/ 20 мая 2019

У меня есть функция onWrite (), которая вызывается при добавлении документа. Эти документы создаются клиентом, и мне нужно добавить в него несколько дополнительных полей.

Есть ли способ изменить моментальный снимок документа, который вызвал вызов функции, прежде чем он попадет в базу данных?

Или мне нужно сделать отдельный вызов для обновления базы данных, чтобы добавить поля? (И, если да, вызовет ли этот дополнительный вызов еще один вызов onWrite () моей функции?)

1 Ответ

1 голос
/ 20 мая 2019

Есть ли способ изменить моментальный снимок документа, который вызвал вызов функции>, прежде чем он попадет в базу данных?

Нельзя перехватить запись в базу данных, пока она не получитк курку.Триггер всегда будет происходить после записи с клиента.

Или мне нужно сделать отдельный вызов обновления для базы данных, чтобы добавить поля?

Да, вы можете изменить базу данных внутри триггера.Это очень распространенный вариант использования.

И, если да, вызовет ли этот дополнительный вызов еще один вызов onWrite () для моей функции?

Если вы измените то же самоедокумент, который вызвал функцию onWrite, да, это вызовет функцию снова.Вы должны будете защититься от этого случая, проверив в своем коде функции, должна ли произойти другая запись.Также рассмотрите возможность использования onCreate, если вы не хотите, чтобы измененный документ снова вызывал функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...