Firestore startAfter (), как узнать, когда больше не загружаться - PullRequest
1 голос
/ 09 марта 2020

Только что реализовал «startAfter» в первый раз. Тем не менее, нужно немного поискать, и я не могу найти ответ на вопрос, который у меня есть.

Как лучше всего справиться, когда больше нет документов для загрузки при использовании «начать после».

Должен ли я брать общую длину документа в коллекции каждый раз, когда запускаю функцию «загрузить больше». Проверьте общее и текущее и, если они равны, отключите функцию «загрузить больше»?

Если да, как мне найти общее количество документов коллекций?

1 Ответ

1 голос
/ 09 марта 2020

Должен ли я получать общую длину документов в коллекциях каждый раз, когда запускаю функцию «загрузить еще».

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

Так что Идея заключается в том, что вы можете запросить страницы данных определенного размера. Вот полезный метод с именем limit(X), который может помочь вам достичь этого. Таким образом, вы можете выполнить запрос и получить страницу размером X. Просто продолжите этот запрос с другой страницей размером X и так далее. Таким образом, вы начинаете со страницы 1, затем переходите по страницам, используя соответствующие методы, где вы должны указать, какой документ был последним на странице, а затем продолжать переходить к следующей странице, пока не останется элементов.

Если да, то как мне найти общее количество документов в коллекциях?

Не о количестве документов в коллекции, о которых вам нужно беспокоиться, а о количестве предметы, которые вы получите на следующей странице.

...