Насколько я понимаю, когда мы вызываем get() для какой-либо ссылки, Firebase получает последний снимок этого документа из Firestore.

Итак, мой вопрос: Если в начале приложения (например, в каком-то init) я вызываю что-то вроде firestore.collection(food).doc(pizza).get().data(), и это дает мне снимок этого документа, из которого я получаю данные.

Допустим, позже в приложении я вызываю ту же ссылку firestore.collection(food).doc(pizza).get().data() в некотором побочном эффекте совершенно другого метода и снова читаю эти данные. До этого документ не менялся.

Будет ли Firebase засчитывать это как одно или два чтения?

0
OMGImOut 16 Окт 2020 в 23:41

1 ответ

Лучший ответ

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

Если вы хотите подробнее понять, как работает кеш, прочтите это сообщение в блоге.

1
Doug Stevenson 16 Окт 2020 в 21:17