Vous pouvez le faire en utilisant les opérateurs d'agrégation suivants :
- $groupe
- $an
- $mois
- $jourDuMois
Cela vous donne le nombre d'erreurs pour chaque date :
db.errors.aggregate(
{ $group : {
_id: {
year : { $year : "$date" },
month : { $month : "$date" },
day : { $dayOfMonth : "$date" },
},
count: { $sum: 1 }
}}
);
Cet exemple suppose que le champ de date dans vos documents d'erreur est date
et de type BSON Date. Il existe aussi un type Timestamp dans MongoDB, mais l'utilisation de ce type est explicitement déconseillée par la documentation :
Remarque :Le type d'horodatage BSON est destiné à une utilisation interne de MongoDB. Dans la plupart des cas, lors du développement d'applications, vous souhaiterez utiliser le type de date BSON. Voir Date pour plus d'informations.