Есть ли в любом случае использовать StartAt с запросами Firestore, если у вас нет ссылки на документ - PullRequest
0 голосов
/ 06 января 2019

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

Я прочитал документы на https://firebase.google.com/docs/firestore/query-data/query-cursors и указано, что если вы хотите использовать нумерацию страниц, вы должны использовать startAt со ссылкой на документ.

Тем не менее, мой список объектов не использует ссылки на документы, потому что мои данные не являются документами пожарного хранилища. Они обрабатываются, как в большинстве приложений, и все метаданные БД удаляются. Такие, как ссылки на документы.

Итак, чтобы найти последний объект в моем списке, мне нужно get позвонить в пожарную, чтобы получить ссылку на документ.

Есть ли другой способ, которым я могу использовать startAt без необходимости извлекать (получать) полный документ из пожарного депо, так как у меня есть ID нужного мне документа?

PS. Я не хотел бы хранить какие-либо данные БД (firestore) на моих объектах / классах. Они не тесно связаны с БД, как должны.

1 Ответ

0 голосов
/ 06 января 2019

Документация для startAt гласит:

startAt

startAt(snapshotOrVarArgs) returns firebase.firestore.Query

Создает новый запрос, результаты которого начинаются с предоставленного документа (включительно). Начальная позиция относительно порядка запроса. Документ должен содержать все поля, указанные в orderBy запроса.

Параметр

snapshotOrVarArgs (ненулевой firebase.firestore.DocumentSnapshot или повторяемый любой тип)

Снимок документа, для которого запрос должен начинаться с , или значения полей, с которых следует начинать этот запрос, в порядке порядка запроса по .

Таким образом, вы можете передать DocumentSnapshot или значение для каждого поля, по которому вы фильтруете / упорядочиваете. Недостаточно просто иметь идентификатор документа, если только ваш запрос не фильтруется / не упорядочивается по идентификатору документа.

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