Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Výsledky řazení v GraphQL (
Řazení definuje sekvenci vrácených záznamů a podporuje stabilní stránkování. V GraphQL používá orderBy tvůrce rozhraní DATA API (DAB) argument k řazení výsledků před použitím first nebo after. Pokud vynecháte orderBy, jazyk DAB ve výchozím nastavení seřadí podle primárního klíče (vzestupně).
Poznámka:
Složené primární klíče jsou seřazené podle pořadí sloupců databáze.
Přejděte do verze REST tohoto dokumentu.
Přehled
| Koncepce | Description |
|---|---|
| Argument | orderBy |
| Směrové hodnoty |
ASC, DESC |
| Výchozí pořadí | Primární klíč vzestupně |
| Pořadí více polí | Seřazeno podle deklarovaného pořadí vlastností objektu |
| Svázání | Automaticky připojená pole zbývajících primárních klíčů |
Vzor použití
query {
books(orderBy: { year: DESC, title: ASC }, first: 5) {
items {
id
title
year
}
}
}
Koncepční SQL
SELECT TOP (5)
id,
sku_title AS title,
year
FROM dbo.books
ORDER BY year DESC, sku_title ASC, id ASC;
Ukázková odpověď
{
"data": {
"books": {
"items": [
{ "id": 7, "title": "Dune Messiah", "year": 1969 },
{ "id": 6, "title": "Dune", "year": 1965 },
{ "id": 3, "title": "Foundation", "year": 1951 },
{ "id": 1, "title": "I, Robot", "year": 1950 },
{ "id": 8, "title": "The Martian Chronicles", "year": 1950 }
]
}
}
}
Chování pole
| Aspekt | Chování |
|---|---|
| Typ vstupu | Generování *OrderByInput výčtu skalárních polí |
| Směr výčtu |
ASC, DESC |
| Složené pořadí | Priorita se řídí pořadím deklarace. |
| Směr null | Vyloučí pole z řazení (title: null) |
| Neznámé pole | Vygeneruje chybu ověření GraphQL. |
Příklad ignorování pole
query {
books(orderBy: { title: null, id: DESC }) {
items { id title }
}
}
Neplatné struktury
GraphQL zakazuje logické operátory (and, or) uvnitř orderBy. Například následující chyba způsobí chybu ověření:
books(orderBy: { or: { id: ASC } })
Příklad použití proměnné
query ($dir: OrderBy) {
books(orderBy: { id: $dir }, first: 4) {
items { id title }
}
}
Variables
{ "dir": "DESC" }
Relevantní konfigurace
{
"entities": {
"Book": {
"source": {
"object": "dbo.books",
"type": "table"
},
"mappings": {
"sku_title": "title"
}
}
}
}
Příklad konfigurace
{
"runtime": {
"pagination": {
"default-page-size": 100,
"max-page-size": 100000
}
},
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.books"
},
"mappings": {
"sku_title": "title",
"sku_price": "price"
},
"relationships": {
"book_category": {
"cardinality": "one",
"target.entity": "Category",
"source.fields": [ "category_id" ],
"target.fields": [ "id" ]
}
}
},
"Category": {
"source": {
"type": "table",
"object": "dbo.categories"
},
"relationships": {
"category_books": {
"cardinality": "many",
"target.entity": "Book",
"source.fields": [ "id" ],
"target.fields": [ "category_id" ]
}
}
}
}
}
Viz také
| Koncepce | REST | GraphQL | Účel |
|---|---|---|---|
| Projection | $select | items | Výběr polí, která se mají vrátit |
| Filtering | $filter | filtr | Omezení řádků podle podmínky |
| Řazení | $orderby | orderBy | Definování pořadí řazení |
| Velikost stránky | $first | first | Omezení počtu položek na stránku |
| Pokračování | $after | po | Pokračovat z poslední stránky pomocí kurzoru |
Poznámka:
Klíčová slova REST začínají následujícími konvencemi $OData.