Firestore: нумерация страниц курсором - PullRequest
0 голосов
/ 04 мая 2020

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

Я могу обойти эту проблему, используя StartAfter на основе идентификатора документа, который всегда будет уникальным.

  1. Один из способов, которым я могу это сделать sh - это передача идентификатора последнего документа в запрос api rest на стороне сервера. Это потребует двух шагов, то есть выборки DocumentSnapshot с использованием DocumentId и построения запроса на его основе

    var lastSnapshot = fetchSnapshot (id); townsRef.OrderBy ("Population"). StartAfter (lastSnapshot);

  2. Другой подход заключается в сохранении идентификатора документа в документе при создании. Для этого потребуется два шага каждый раз, когда документ создан, один для создания, а другой для немедленного обновления с созданным идентификатором (поскольку я не вижу способа сохранить DocumentId во время самого создания)

    townsRef.OrderBy ("Population"). StartAfter (lastId);

Какой из этих подходов является хорошим подходом: либо извлечь DocumentSnapshot и не сохранять идентификатор в документе, либо выполнить две операции, сохранив DocumentId в первую очередь и используя это как ключ для StartAfter.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...