Firestore получить ряд документов по номеру строки - PullRequest
0 голосов
/ 03 ноября 2018

У меня есть очень большая коллекция в пожарном депо, и я хотел бы иметь возможность получить диапазон документов после сортировки по параметру, например:

1 doc1
2 doc2
3 doc3
4 doc4
5 doc5
...

Я хотел бы создать сервисную функцию, такую ​​как getRangeOfDocuments(start: number, end: number), которая будет называться getRangeOfDocuments(2, 4) для получения документов [doc2, doc3, doc4].

Операторы startAt и endAt принимают документы в качестве параметра, это означает, что для получения предыдущего результата у меня должны быть doc2 и doc4: ref.startAt(doc2).endAt(doc4).

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

Как получить диапазоны, не начинающиеся с doc1, используя номера строк вместо документов?

1 Ответ

0 голосов
/ 03 ноября 2018

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

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