У меня есть табличное представление, в котором отображаются пользователи, упорядоченные по дате их создания в порядке убывания (самый новый участник сортируется первым). В этом же табличном представлении я также хочу найти и показать всех пользователей мужского пола в Нью-Йорке в возрасте от 30 до 40 лет на основе пользовательских настроек.
Моя база данных выглядит следующим образом
{
"Ka8xxTgyFB8yYKH50j" : {
"created" : 1583258308.2321649,
"data" : "male_newyork_30"
},
"K222xTgyFBF33FD50j" : {
"created" : 1583358308.2321649,
"data" : "male_newyork_35"
},
"Ka32T23R328yYKH50j" : {
"created" : 1584258308.2321649,
"data" : "male_seattle_30"
},
"F323F32FB8yYKH50j" : {
"created" : 1583558308.2321649,
"data" : "female_newyork_30"
}
...
}
Как указано в Расширенный запрос Firebase с фильтром в Swift , я пробовал следующее с ограничением для последних 6 пользователей (поэтому он загружает не все):
usersRef.queryOrderedByChild("data").queryStartingAtValue("male_newyork_30")
.queryEndingAtValue("male_newyork_40").queryLimited(toLast: 6).observeSingleEventOfType(
.Value, withBlock: { snapshot in
print(snapshot)
})
Однако я не могу разбить эти данные на страницы, потому что не знаю, что отслеживать, чтобы загрузить следующих 6 пользователей.
Обычно, когда я добавляю нумерацию страниц, я запрашиваю дату создания пользователя и отслеживаю дату создания последнего пользователя, чтобы сравнить ее со следующей партией данных. Но этот подход только разбивает на страницы и не фильтрует данные.
Как я могу разбить на страницы и отфильтровать мои данные? Любая помощь очень ценится!