Następna strona elementów
items_page korzysta z paginacji opartej na kursorze, która pozwala zwracać mniejsze zestawy elementów z dużego zbioru danych. Podczas wykonywania zapytania items_page możesz zwrócić argument cursor, który wskazuje następną stronę elementów.
Po zwróceniu kursora możesz kontynuować paginację zbioru danych za pomocą obiektu next_items_page. Pozwala on pobrać następną stronę elementów bez zwiększania złożoności zapytania przez umieszczanie items_page wewnątrz zapytania boards. Obiekt przyjmuje argument cursor, który pozwala określić, od którego miejsca w zbiorze danych chcesz zacząć.
Ważność kursora
Kursory są generowane przy pierwszym wysłaniu zapytania dotyczącego danej tablicy i przechowywane w pamięci podręcznej przez 60 minut. Każdy kursor wygasa 60 minut po pierwszym zapytaniu.
Zapytania
Pobierz następną stronę elementów
- Zwraca następny zestaw elementów odpowiadających podanemu kursorowi
- Można go wywołać tylko na najwyższym poziomie; nie można zagnieżdżać go w innym zapytaniu
Argumenty
| Argument | Typ | Opis |
|---|---|---|
| cursor | String! |
Nieprzezroczysty kursor wskazujący pozycję na liście za ostatnim zwróconym elementem. Użyj go do paginacji, aby pobrać następny zestaw elementów. Jeśli kursor ma wartość null, nie ma już więcej elementów do pobrania. |
| limit | Int! |
Liczba elementów do zwrócenia. Maksymalna wartość to 500. |
Pola
| Pole | Typ | Opis |
|---|---|---|
| cursor | String |
Nieprzezroczysty kursor wskazujący pozycję na liście za ostatnim zwróconym elementem. Użyj go do paginacji, aby pobrać następny zestaw elementów. Jeśli kursor ma wartość null, nie ma już więcej elementów do pobrania. |
| items | [Item!]! |
Element odpowiadający kursorowi. |
Przykład
Znasz już dostępne argumenty i pola obiektu next_items_page. Zobaczmy, jak użyć ich w praktyce. Załóżmy, że chcesz pobrać tylko elementy z tablicy 1234567890, których kolumna osi czasu obejmuje 30 czerwca 2023 r. i 1 lipca 2023 r. Tablica zawiera tysiące elementów, których nie można pobrać jednocześnie, więc możesz skorzystać z paginacji opartej na kursorze.
Poniższe zapytanie zwraca identyfikatory i nazwy pierwszych 50 elementów oraz kolumnę osi czasu obejmującą te daty. Zwraca też wartość kursora wskazującą pozycję w zbiorze danych za ostatnim z pobranych elementów.
query {
boards(ids: 1234567890) {
items_page(
limit: 50
query_params: {
rules: [
{
column_id: "timeline"
compare_value: ["2023-06-30", "2023-07-01"]
compare_attribute: "START_DATE"
operator: between
}
]
}
) {
cursor
items {
id
name
}
}
}
}
Następnie możesz użyć obiektu next_items_page i argumentu cursor z pierwszego zapytania, aby pobrać kolejne 50 pasujących elementów ze zbioru danych. Po otrzymaniu wartości następnego kursora możesz kontynuować paginację aż do pobrania całego zbioru danych.
query {
next_items_page(
limit: 50
cursor: "MSw5NzI4MDA5MDAsaV9YcmxJb0p1VEdYc1VWeGlxeF9kLDg4MiwzNXw0MTQ1NzU1MTE5"
) {
cursor
items {
id
name
}
}
}