← Analytics / analytics / graphql-api / features
Stránkování
Stránkování, tedy rozdělení výsledků dotazu na menší části, lze provést pomocí limit, orderBy, a filtrovacích parametrů. GraphQL Analytics API nepodporuje kurzory pro stránkování.
limit(celé číslo) určuje, kolik záznamů se má vrátit.orderBy(řetězec) určuje pořadí řazení dat.
Dotazování stránek bez kurzorů
Naše příklady předpokládají, že date a clientCountryName vztahy jsou jedinečné.
Získejte první n výsledky dotazu
Chcete-li omezit počet výsledků, přidejte limit parametr jako celé číslo. Chcete-li například načíst první dva záznamy:
firewallEventsAdaptive (limit: 2, orderBy: [datetime_ASC, clientCountryName_ASC]) {
datetime
clientCountryName
}Odpověď
{
"firewallEventsAdaptive" : [
{
"datetime": "2018-11-12T00:00:00Z",
"clientCountryName": "UM"
},
{
"datetime": "2018-11-12T00:00:00Z",
"clientCountryName": "US"
}
]
}Dotazování další stránky pomocí filtrů
Chcete-li získat další n výsledky, zadejte filtr, který vyloučí poslední výsledek z předchozího dotazu. V předchozím příkladu to provedete připojením operátoru větší než (_gt) k clientCountryName pole a operátor větší nebo rovno (_geq) k datetime pole. Zde se projeví význam přesného určení pořadí řazení. Při použití podrobnějšího pořadí řazení je menší pravděpodobnost, že vám nějaké výsledky uniknou.
firewallEventsAdaptive (limit: 2, orderBy: [datetime_ASC, clientCountryName_ASC], filter: {datetime_geq: "2018-11-12T00:00:00Z", clientCountryName_gt: "US"}) {
datetime
clientCountryName
}Odpověď
{
"firewallEventsAdaptive" : [
{
"datetime": "2018-11-12T00:00:00Z",
"clientCountryName": "UY"
},
{
"datetime": "2018-11-12T00:00:00Z",
"clientCountryName": "UZ"
}
]
}Dotazování předchozí stránky
Chcete-li získat předchozí n výsledky, obraťte filtry a pořadí řazení.
firewallEventsAdaptive (limit: 2, orderBy: [datetime_DESC, clientCountryName_DESC, filter: {datetime_leq: "2018-11-12T00:00:00Z", clientCountryName_lt: "UY"}]) {
datetime
clientCountryName
}Odpověď
{
"firewallEventsAdaptive" : [
{
"datetime": "2018-11-12T00:00:00Z",
"clientCountryName": "US"
},
{
"datetime": "2018-11-12T00:00:00Z",
"clientCountryName": "UM"
}
]
}