Если вы хотите узнать, обновлялся ли документ в Firestore из клиентского приложения, единственный способ сделать это - прочитать его. Там нет замены для этого. Автономное постоянство включается и обслуживает запросы только в том случае, если облачная служба Firestore недоступна или если вы используете параметр источника , чтобы указать, что вы хотите просматривать только кэш.
Вы можете на самом деле есть запрос клиента только для обновлений документов, у которых поле last_updated больше, чем время его последнего запроса. Имейте в виду, что выполнение этого запроса по-прежнему стоит как минимум на 1 чтение, даже если запрос не дает документов, что покрывает стоимость доступа к базовому индексу.
Вы также можете использовать облачные функции для запуска изменение документа, затем используйте уведомление pu sh, чтобы сообщить клиенту, что документ обновлен. Затем он может go прочитать этот документ для хранения в кэше.
Имейте в виду, что, если вы слишком сильно опираетесь на кэш клиента, вы можете столкнуться с проблемами, когда документы будут удалены по какой-либо причине (например, , если его емкость превышена). Ничто не скажет вам, когда это произойдет, и теперь ваш локальный кеш дает неполные результаты. Чтобы избежать этой ситуации, у вас должен быть свой собственный локальный кеш / база данных, которую вы полностью контролируете.