Я немного дополню ответ. В Firebase Database REST API есть параметр запроса
shallow=true, который позволяет получать данные в виде списка идентификаторов. Этот список выглядит так:
{
-M9yIcQN7_DgcYVCBl6b: true,
-MAlDOMreZGUdg7quSjY: true,
-MAlDRLIsXnuF3zhgQyz: true,
-MABPqHqh7S0Gc4EKwLs: true,
...
}
Это довольно компактный формат данных. Чтобы сделать пагинацию, необходимо отсортировать этот список в алфавитном порядке, а потом "делить". Это единственный возможный вариант, но, так как данные представлены в компактном виде, то загрузка всех записей, даже если у вас их несколько тысяч, не будет большой проблемой, особенно если ваш проект является SPA приложением. В SPA вы можете обойтись без повторных GET запросов на адрес (
https://[PROJECT_ID].firebaseio/.json?shallow=true), вы просто можете оправить запрос 1 раз (при инициализации), сохранить ответ сервера и использовать список идентификаторов для генерации страниц.