Firestore - срабатывает, когда документ запрашивается, но не найден, или когда просроченный документ читается? - PullRequest
0 голосов
/ 27 апреля 2019

У меня есть приложение, в котором все данные, показанные пользователю, получены из документов пожарного депо. Эти документы состоят из содержимого, созданного пользователем, или данных, импортированных из сторонних API. Импортированные документы содержат метку времени истечения. Каждый экран в приложении сопоставлен с одним или несколькими путями к документам пожарного депо.

Если приложение запрашивает и подписывается на документ по определенному пути, и этот документ не найден, или истек срок его действия, я хочу, чтобы облачная функция (ре) импортировала документ из внешнего API, поэтому я можете быть уверены, что обновленные данные появятся в приложении в ближайшее время.

Однако я не могу найти триггер для операций чтения документа или не найден, что было бы очевидным выбором.

Не имея возможности запускать функции на чтение, какие здесь альтернативные решения?

Для получения данных я использую response / redux / firestoreConnect.

1 Ответ

1 голос
/ 27 апреля 2019

Я понимаю, что каким-то образом вы запрашиваете из своего приложения базу данных Firestore, чтобы найти один или несколько документов, и что в случае

  1. документа не существует, ИЛИ
  2. Документ существует, но достигнут срок действия (сохраненный в документе)

Вы хотите запустить облачную функцию, которая "(повторно) импортирует документ изexternal API ".

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

Затем в облачной функции вы выполняете вызов API, обновляете документ и возвращаете приложению флаг «успех», чтобы указать, что он может повторно извлечь документ Firestore, поскольку этот документ уже был(re) import.

Другими словами, вы запускаете (re) импорт из приложения, а не на основе фонового триггера Cloud Function.

Надеюсь, это поможет, но нестесняйтесь спрашиватьБолее подробная информация / направление, если необходимо!

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