Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
$hour
L'$houropérateur extrait le composant horaire d'un champ de date ou d'horodatage.
Paramètres
-
dateExpression: Date à laquelle l'opérateur est appliqué. Cela doit aboutir à une date BSON valide (par exemple, un champ tel que $createdAt ou un littéral de date).
Un paramètre peut également être spécifié sous forme de document au format suivant :
{date :<dateExpression>, fuseau horaire :<timezoneExpression>}
Cela permet d'appliquer des opérations de date tenant compte du fuseau horaire.
- `<tzExpression>`: (optional) The timezone of the operation result. It must be a valid expression that resolves to a string formatted as either an Olson Timezone Identifier or a UTC Offset. If no timezone is provided, the result is in UTC.
Exemple (MongoDB Shell)
L'exemple suivant montre comment utiliser l'$houropérateur pour extraire le composant horaire d'un champ de date et regrouper les données en conséquence.
Création d'exemples de documents
db.events.insertMany([ { timestamp: new Date("2023-04-01T10:30:00Z") }, { timestamp: new Date("2023-04-01T12:45:00Z") }, { timestamp: new Date("2023-04-02T08:15:00Z") }, { timestamp: new Date("2023-04-02T16:20:00Z") }, { timestamp: new Date("2023-04-03T23:59:00Z") } ]);
Exemple de requête
db.events.aggregate([ { $project: { hour: { $hour: "$timestamp" } } }, { $group: { _id: "$hour", count: { $sum: 1 } } }, { $sort: { _id: 1 } } ]);
Sortie
[
{ "_id": 8, "count": 1 },
{ "_id": 10, "count": 1 },
{ "_id": 12, "count": 1 },
{ "_id": 16, "count": 1 },
{ "_id": 23, "count": 1 }
]
Cette requête regroupe les événements par le composant horaire du timestamp champ et compte le nombre d'événements pour chaque heure.
Exemples de code
Pour afficher un exemple de code d'utilisation de la $hour commande, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :