Set.paginate()
Gets a page of paginated results using an after
cursor.
Signature
Set.paginate(cursor: String): Page<any>
Set.paginate(cursor: String, count: Number): Page<any>
Description
The Set.paginate()
method gets a page of paginated results using an after
cursor.
The default page size of 16 can be changed using the
paginate()
or pageSize()
method, in the range
1 to 16,000.
The cursor is stable in the sense that pagination through a set is done for a fixed snapshot time, giving you a view of your data as it existed across the whole set at the instant you started paginating. For example, given set [a, b, c] when you start paginating, one item at a time, even if you delete item c after you started reading the set, item c is returned.
The exception is if the history is no longer available for the deleted item
because history_days
is set to the default value of 0
or is less than the
minimum valid time needed. In that case, the deleted item is not returned with
the paginated results and an error is returned:
Requested timestamp <time> less than minimum allowed timestamp.
.
A cursor is valid for history_days
plus 15 minutes.
Examples
-
The page includes a pagination cursor:
Product.all().pageSize(2) { name }
{ data: [ { name: "cups" }, { name: "pinata" } ], after: "hdWC1Y..." }
-
Use the cursor to access the next page:
Set.paginate("hdWC1Y...")
{ data: [ { name: "pizza" }, { name: "avocados" } ], after: "hdWC1Y..." }
Is this article helpful?
Tell Fauna how the article can be improved:
Visit Fauna's forums
or email docs@fauna.com
Thank you for your feedback!