Для раскрывающегося меню загрузки вы просто захотите снова выполнить свой запрос.
Для разбивки на страницы я использовал курсор , как описано здесь . Например, в зависимости от того, как вы работаете с пользовательским интерфейсом, вы можете ограничить свой запрос определенным количеством документов.
Итак, для вашего запроса может работать что-то вроде этого:
var userPostsDocumentSnapshot = _feeds
.document(userUid)
.collection(items)
.orderBy('postDateTime', descending: true)
.limit(10);
Затем, когда вы фактически захватываете документы, сохраните ссылку на последний:
var docsnaps = await userPostsDocumentSnapshot.getDocuments();
var last = docsnaps.docs[documentSnapshots.docs.length-1];
Затем, когда вы разбиваете на страницы, используйте небольшой вариант вашего запроса:
... _feeds
.document(userUid)
.collection(items)
.orderBy('postDateTime', descending: true)
.startAfter(last);