Sono molto interessato a GraphQL per una soluzione analitica (si pensi a una webapp che visualizza grafici). Ma non riesco a trovare alcun esempio di GraphQL utilizzando la funzione di aggregazione. Questo è un aspetto principale della maggior parte delle domande fatte dal mio frontend.Supporto della funzione di aggregazione in GraphQL
Per la mia soluzione, abbiamo 3 tipiche chiamate di backend.
- Ricerca
- Aggregate
- Time Series
diciamo che abbiamo questo tipo specificato nel GraphQL
type Person {
name: String
age: Int
create_time: Date
}
- Ricerca
Questo sembra essere ben gestito da GraphQL. Nessuna domanda qui.
ex. Cerca età della persona di nome Bob { Persona (nome: "Bob") { età } }
- Aggregate
Questo è il tipico caso in cui Voglio visualizzare le informazioni in un grafico a torta. Quindi diciamo che voglio contare il numero di persone per età.
qui sarebbe la query PostgreSQL:
SELECT age, count(*) from Ticket group by age;
Quale sarebbe l'equivalente in GraphQL?
- Time Series Questo è il caso tipico in cui voglio visualizzare le informazioni in un BarChart con l'asse X come ora.
ex. Diciamo che voglio contare il numero di utenti creati all'ora.
qui sarebbe la query PostgreSQL:
SELECT date_trunc('hour', create_time) as create_time_bin, count(*) from Person group by create_time_bin order by create_time_bin ASC;
Quale sarebbe la query equivalente GraphQL?
Per non parlare, come si fanno i confronti di gamma per gli scalari, come SELECT * WHERE timestamp> ... AND timestamp <...? O ordinare i risultati con uno scalare? Non vedo nessuno di questi nella specifica. Cosa mi manca? –
Aggiungete parametri ai vostri campi che consentono quel tipo di filtro. – Ryan