Я нахожусь в ситуации, когда запись в firebase вызывает функцию облака.Внутри облачных функций я выполняю .set()
.
. Моя проблема в том, что облачные функции гарантируют политику at least once
.Вместо exactly one policy
.Это означает, что иногда случается, что несколько функций просыпаются и пишут в одно и то же место.
Я знаю, что могу использовать транзакцию и спросить «документ уже существует», если нет, ничего не делать.Но мне было интересно, если есть флаг, который говорит set("data", exist=false)
или около того.
Пока что я не смог найти ничего в документации.И я надеялся, что смогу избежать дополнительных .get()
по причинам задержки конечного пользователя.
Имейте в виду, облачные функции используют admin-sdk.Это означает, что правила безопасности не могут быть использованы в качестве решения.