Sì, puoi farlo all'interno del database se utilizzi una Calendar Collection ovvero una raccolta di supporto che è solo un elenco di date , senza lacune. Usando una tale raccolta di calendari, potresti mettere insieme un'aggregazione che:
- Utilizza l'$lookup operatore per unire la raccolta del calendario alla tua raccolta di record giornalieri
- Rimodella i dati (usando $unwind , $group e $project se necessario) per convertire i dati uniti (una matrice di documenti secondari) nella struttura desiderata
- Utilizza l'operatore ifnull in una fase $project per assicurarsi che al campo numItems venga assegnato un valore predefinito di 0 nei documenti in cui non esiste già