Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
$hour
L'$houroperatore estrae il componente orario da un campo di data o timestamp.
Parametri
-
dateExpression: la data alla quale viene applicato l'operatore. Questo deve risolversi in una data BSON valida (ad esempio, un campo come $createdAt o una data letterale).
Un parametro può anche essere specificato come documento nel seguente formato:
{data:<dateExpression>, fuso orario:} <timezoneExpression>
Ciò consente di applicare operazioni di data in base al fuso orario.
- `<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.
Esempio (MongoDB Shell)
L'esempio seguente mostra come utilizzare l'$houroperatore per estrarre il componente ora da un campo data e raggruppare i dati di conseguenza.
Crea documenti di esempio
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") } ]);
Esempio di interrogazione
db.events.aggregate([ { $project: { hour: { $hour: "$timestamp" } } }, { $group: { _id: "$hour", count: { $sum: 1 } } }, { $sort: { _id: 1 } } ]);
Output
[
{ "_id": 8, "count": 1 },
{ "_id": 10, "count": 1 },
{ "_id": 12, "count": 1 },
{ "_id": 16, "count": 1 },
{ "_id": 23, "count": 1 }
]
Questa query raggruppa gli eventi in base alla componente oraria del timestamp campo e conta il numero di eventi per ogni ora.
Esempi di codice
Per visualizzare un esempio di codice per l'utilizzo del $hour comando, scegli la scheda relativa alla lingua che desideri utilizzare: