Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

189
Visualizações
Cómo generar valor vacío a partir de resultados agregados con Mongodb

En primer lugar la función:

 static async getInitRegistrationMetric(account) { // we want only full day so we exclude current date const exclude = DateTime.now() .setZone('utc') .startOf('day') .toISODate(); // this count the number of client created by day. const groupByDate = { $group: { _id: { $dateToString: { format: '%Y-%m-%d', date: '$createdAt' }, }, count: { $sum: 1 }, }, }; // this is a way to rename (_id, count) to (date, value) const renameData = { $project: { _id: 0, date: '$_id', value: '$count', }, }; // this is done to filter data, I want to clean the null date and the today result const excludeTodayAndNull = { $match: { $and: [ { date: { $ne: exclude, }, }, { date: { $ne: null, }, }, ], }, }; // account is the mongoose model. return account.aggregate([groupByDate, renameData, excludeTodayAndNull]);

}

este código producirá datos como este:

 const data = [ { date: '2000-10-01', value: 50 }, { date: '2000-10-03', value: 12 }, { date: '2000-10-07', value: 112 }, ];

el problema es que no tengo valor para el 2, 4, 5 y 6 del mes. Mi idea era obligar a mongo a "crear" un vacío válido para los otros días, así:

 const data = [ { date: '2000-10-01', value: 50 }, { date: '2000-10-02', value: 0 }, { date: '2000-10-03', value: 12 }, { date: '2000-10-04', value: 0 }, { date: '2000-10-05', value: 0 }, { date: '2000-10-06', value: 0 }, { date: '2000-10-07', value: 112 }, ];

¿Cómo puedo pedirle a "agregado" que llene el espacio entre fechas significativas con datos con 0 como valor?

Gracias

PD: ya lo hice por codigo en js pero se ve pesado y feo. Intento hacerlo más limpio.

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda