Graphql ist großartig und ich benutze es in meiner App. Ich habe eine Seite, die zusammenfassende Informationen anzeigt, und ich brauche graphql, um die Gesamtzählung zurückzugeben. Kann das gemacht werden?Kann graphql Aggregate zurückzahlen?
Antwort
Es gibt keine automatische Aggregatfunktion in GraphQL selbst.
Sie können ein Feld namens summary
hinzufügen und in der resolve
Funktion die Summen berechnen.
... brauchen Sie graphql, um die Aggregatanzahl zurückzugeben? Kann das gemacht werden?
Ja, es kann getan werden.
Does GraphQL macht es für Sie automatisch? Nein, weil Sie nicht wissen, wo Sie Ihre Datenquelle haben.
Wie? GraphQL schreibt nicht vor, wie Sie die vom Benutzer abgefragten Daten erhalten/mutieren. Es liegt an Ihrer Implementierung, die angeforderten aggregierten Daten zu erhalten. Sie könnten aggregierte Daten direkt von Ihrer MongoDB erhalten und diese zurückgeben, oder Sie erhalten alle Daten, die Sie benötigen, aus Ihrer Datenquelle und führen die Aggregation selbst durch.
Sie würden einen neuen GraphQL Typen definieren, die ein Objekt, das eine Liste und eine Zahl enthält. Die Nummer wird durch eine Resolver-Funktion definiert.
Auf Ihrem GraphQL-Server können Sie die Resolver-Funktion definieren und als Teil davon müssten Sie den Code schreiben, der alle Berechnungen und Abfragen durchführt, die erforderlich sind, um die Aggregatanzahl zu erhalten.
Dies ähnelt dem Schreiben eines Objekt-Serialisierers für eine REST-API oder einen benutzerdefinierten REST-API-Endpunkt, der alle Datenbankabfragen ausführt, die zur Berechnung der Aggregatanzahl erforderlich sind.
GraphQL Stärke ist, dass es dem Frontend mehr Macht bei der Bestimmung, welche Daten gibt speziell zurückgegeben. Etwas von dem, was Sie in GraphQL schreiben, entspricht dem, was Sie für eine REST-API schreiben würden.
- 1. Unterstützung der Aggregatfunktion in GraphQL
- 2. Aggregate und Repository. Wie man Aggregate bestimmt?
- 3. GraphQL-Mutationsvariablen
- 4. GraphQL Validierungsfehler
- 5. CQRS-Aggregate
- 6. kann Meteorebenutzersammlung mit graphql Mutation nicht aktualisieren
- 7. Aggregate Objekte
- 8. GraphQL "ungleich" Operator?
- 9. GraphQL js Datei hochladen
- 10. GraphQL Relay hasNextPage
- 11. GraphQL Isomorphic Modell
- 12. GraphQL Sortieren benutzerdefinierten Typs
- 13. MongoDB Ergebnismenge für Aggregate()
- 14. SQL - verwechseln mit Aggregate
- 15. Linq GroupBy und Aggregate
- 16. SQL-Abfrage ohne Aggregate
- 17. Relayjs Graphql Benutzerauthentifizierung
- 18. GraphQL-Clientbibliotheken für iOS
- 19. GraphQL Mutation ohne Unterabschnitt
- 20. GraphQL + Relay-Verbindung Optimierung
- 21. Authentifizierung in Relay & GraphQL
- 22. Basic graphQL Mongoose einrichten
- 23. Authentifizierung in GraphQL-Servern
- 24. Variadische Aggregate als Kernsprachmerkmal
- 25. PostgreSQL 9.6 parallele Aggregate
- 26. MySQL, Aggregate SubSelect Problem
- 27. Brauche ich Mungo mit Graphql?
- 28. graphql-java zyklischen Typen Abhängigkeiten
- 29. Konzepte von GraphQL und Relais
- 30. Dynamische (eindeutige) Objekte in GraphQl
Gute Erklärung! Ich denke, der Hauptgrund dafür ist, dass GraphQL Ihre Berechnungen und Aggregationen nicht für Sie durchführt. All dies soll in der Auflösungsfunktion des GraphQL-Abfrageobjekts geschehen, das angewiesen werden muss, die benötigten voraggregierten Daten abzurufen, arbeitet daran und gibt dann das Ergebnis zurück. – batjko