Tengo que mostrar un gráfico en la interfaz que toma una serie de números (7 para una semana, 12 para meses y 5 para años, como se muestra en la imagen).
En backend tenía un documento para todos los días que almacena y actualiza diariamente como único para un día que almacena la energía total entregada. Actualmente tengo marcas de tiempo en tiempo de época, pero puedo cambiarlo a cualquier cosa que satisfaga mis necesidades.
Quiero escribir consultas para obtener datos basados en la selección usando bPID. Supongamos que selecciono la semana en que consulta los últimos 7 documentos para un bPID en particular y me lo devuelve para que pueda filtrarlo. Supongamos que selecciono meses para que me devuelva 31 colecciones para enero y 28 para febrero, que procesaría en mi backend y obtendría una matriz de 12 para un mes. Cómo consultar esto para que al final termine obteniendo una matriz de 7 documentos para una semana, 12 para un mes, 5 para un año.
Mi colección actual:
const analyticSchema = new Schema( { bPID: String, // unique for every document todaysTimeStamp: Number, // epoch time for 12:00 am energyConsumed: Number }, { timestamps: true } );Puede obtener los últimos 7 documentos durante una semana, durante meses tiene que consultar en función de este mes y obtener los últimos 365/366 documentos. Filtrar por meses. Durante años tienes que conseguirlo como se mencionó anteriormente.