Получить элементы по категориям с разбивкой по страницам, используя Cloud Firestore, порядок по дате или по возрастанию - PullRequest
0 голосов
/ 03 июля 2018

Я изменяю приложение для Android, чтобы оно выглядело как Netflix. (Список каруселей с отображением предметов). Моя база данных - Cloud Firestore на платформе Firebase.

Это структура, которую я использую для отображения элементов по категориям, упорядоченных по дате desc или asc

{
  name: "Item",
  categories: {
    catId1: true,
    catId2: true,
    catId3: true
  }
}

проблема у меня в том, что я не вижу там ни одного элемента, потому что мне нужно создавать индексы для каждого catId (что для меня не имеет смысла), и, кроме того, мне нужно разделить результаты по порядку. разбить запрос на страницы. Как мне этого добиться?

1 Ответ

0 голосов
/ 03 июля 2018

С вашей текущей моделью данных то, что вы запрашиваете, не может быть эффективно выполнено с помощью одного запроса. Вам нужно будет выполнить несколько запросов и объединить / объединить результаты в своем клиентском коде. Это очень типично для баз данных NoSQL, и единственный способ обойти это дублировать (денормализовать) ваши данные таким образом, чтобы избежать необходимости в дополнительных запросах.

...