Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
$hour
$hourOperator mengekstrak komponen jam dari bidang tanggal atau stempel waktu.
Parameter
-
dateExpression: Tanggal penerapan operator. Ini harus diselesaikan ke tanggal BSON yang valid (misalnya, bidang seperti $createDat atau tanggal literal).
Parameter juga dapat ditentukan sebagai dokumen dalam format berikut:
{tanggal:<dateExpression>, zona waktu:<timezoneExpression>}
Ini memungkinkan untuk menerapkan operasi tanggal sadar zona waktu.
- `<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.
Contoh (MongoDB Shell)
Contoh berikut menunjukkan cara menggunakan $hour operator untuk mengekstrak komponen jam dari bidang tanggal dan mengelompokkan data yang sesuai.
Buat dokumen sampel
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") } ]);
Contoh kueri
db.events.aggregate([ { $project: { hour: { $hour: "$timestamp" } } }, { $group: { _id: "$hour", count: { $sum: 1 } } }, { $sort: { _id: 1 } } ]);
Keluaran
[
{ "_id": 8, "count": 1 },
{ "_id": 10, "count": 1 },
{ "_id": 12, "count": 1 },
{ "_id": 16, "count": 1 },
{ "_id": 23, "count": 1 }
]
Kueri ini mengelompokkan peristiwa berdasarkan komponen jam timestamp bidang dan menghitung jumlah peristiwa untuk setiap jam.
Contoh kode
Untuk melihat contoh kode untuk menggunakan $hour perintah, pilih tab untuk bahasa yang ingin Anda gunakan: