Oui, vous pouvez le faire dans la base de données si vous utilisez une Calendar Collection c'est-à-dire une collection d'assistance qui est juste une liste de dates , sans lacunes. À l'aide d'une telle collection d'agendas, vous pouvez constituer une agrégation qui :
- Utilise l'opérateur $lookup pour joindre la collection de calendrier à votre collection d'enregistrements quotidiens
- Reforme les données (en utilisant $unwind , $group et $project si nécessaire) pour convertir les données jointes (un tableau de sous-documents) dans la structure souhaitée
- Utilise l'opérateur ifnull dans une étape de $project pour s'assurer que le champ numItems reçoit une valeur par défaut de 0 dans les documents où il n'existe pas déjà