Estoy usando amplificar cli con una base de datos de dynamo junto con la API de GraphQL. Tengo un modelo de ventas que mantiene un registro de ventas, es decir, el monto de la venta junto con la fecha. Quiero agregar el monto de las ventas de cada mes en un año para mostrar las estadísticas de ventas en un gráfico que muestre las ventas totales realizadas en cada mes durante el año. Actualmente estoy usando consultas GraphQL para consultar/buscar datos desde el backend.
Aquí está el modelo que estoy usando.
type Sales @model @searchable @auth(rules: [{ allow: private }]) { id: ID! userID: String! @index(name: "byAdded", sortKeyFields: ["createdAt"]) createdAt: AWSDateTime! saleAmount: Float }Este es el uso de ejemplo de la consulta graphQL que estoy usando actualmente para obtener una cantidad agregada para todo el año.
await API.graphql( graphqlOperation(searchSales, { filter: { and: [ { userID: { eq: userId } }, { createdAt: { range:["2022-01-01", "2022-12-31"] } }, ], }, aggregates: { type: 'sum', field: 'saleAmount', name: 'totalSales', }, }), );Resultado de la consulta actual:
{"aggregateItems": [{"name": "totalSales", "result": {"value": 4608} }], "nextToken": "WyIwZTUyNmY2JkMjUiXQ==", "total": 7}Quiero tener un resultado como el siguiente:
aggregations : { jan: 234, feb: 343, march: 3465, ...... }