Możesz to zrobić za pomocą następujących operatorów agregacji:
- $grupa
- $rok
- $miesiąc
- $dayOfMonth
Daje to liczbę błędów dla każdej daty:
db.errors.aggregate(
{ $group : {
_id: {
year : { $year : "$date" },
month : { $month : "$date" },
day : { $dayOfMonth : "$date" },
},
count: { $sum: 1 }
}}
);
W tym przykładzie założono, że pole daty w błędnych dokumentach to date
i typu BSON Data. Istnieje również typ Timestamp w MongoDB, ale użycie tego typu jest wyraźnie odradzane w dokumentacji:
Uwaga:typ BSON Timestamp jest przeznaczony do użytku wewnętrznego MongoDB. W większości przypadków podczas tworzenia aplikacji będziesz chciał użyć typu daty BSON. Zobacz Data, aby uzyskać więcej informacji.