Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
$ DateDiff
Baru dari versi 5.0
Tidak didukung oleh cluster elastis.
Operator $dateDiff agregasi menghitung perbedaan antara dua tanggal dalam satuan tertentu. Ini mengembalikan jumlah batas unit yang dilintasi antara tanggal mulai dan akhir.
Parameter
-
startDate: Ekspresi tanggal awal. -
endDate: Ekspresi tanggal akhir. -
unit: Satuan waktu untuk perbedaan. Unit yang didukung adalahyearquarter,month,week,day,hour,minute,second, danmillisecond.
Contoh (MongoDB Shell)
Contoh berikut menunjukkan bagaimana menggunakan $dateDiff operator untuk menghitung jumlah hari antara penempatan pesanan dan pengiriman.
Buat dokumen sampel
db.shipments.insertMany([ { orderId: 1001, orderDate: ISODate("2025-01-10T08:00:00Z"), deliveryDate: ISODate("2025-01-15T14:30:00Z") }, { orderId: 1002, orderDate: ISODate("2025-02-05T10:00:00Z"), deliveryDate: ISODate("2025-02-12T16:45:00Z") } ]);
Contoh kueri
db.shipments.aggregate([ { $project: { orderId: 1, orderDate: 1, deliveryDate: 1, daysToDeliver: { $dateDiff: { startDate: "$orderDate", endDate: "$deliveryDate", unit: "day" } } } } ]);
Keluaran
[
{
_id: ObjectId('6924a5f2d66dcae121d29517'),
orderId: 1001,
orderDate: ISODate('2025-01-10T08:00:00.000Z'),
deliveryDate: ISODate('2025-01-15T14:30:00.000Z'),
daysToDeliver: 5
},
{
_id: ObjectId('6924a5f2d66dcae121d29518'),
orderId: 1002,
orderDate: ISODate('2025-02-05T10:00:00.000Z'),
deliveryDate: ISODate('2025-02-12T16:45:00.000Z'),
daysToDeliver: 7
}
]
Contoh kode
Untuk melihat contoh kode untuk menggunakan $dateDiff perintah, pilih tab untuk bahasa yang ingin Anda gunakan: