MongoDB menyediakan NOW variabel sistem yang memungkinkan Anda mendapatkan nilai waktu saat ini saat menggunakan alur agregasi.
Ini dapat berguna ketika Anda ingin memperbarui dokumen dengan waktu saat ini.
Mulai di MongoDB 4.2, metode pembaruan dapat menerima jalur agregasi. Oleh karena itu, NOW dapat digunakan sebagai alternatif untuk $currentDate operator pembaruan bidang untuk menyetel waktu saat ini saat menggunakan salah satu metode pembaruan.
Untuk mengakses NOW variabel sistem, awali dengan dua tanda dolar dan beri tanda kutip ("$$NOW" ).
Contoh
Misalkan kita memiliki koleksi yang disebut dogs yang berisi dokumen berikut:
{ "_id" : 1, "name" : "Fetch", "weight" : 25 }
Berikut ini contoh penggunaan NOW variabel sistem saat memperbarui dokumen itu:
db.dogs.updateOne(
{ _id : 1 },
[
{ $set : { weight : 30, lastModified : "$$NOW" } }
]
) Sekarang mari kita lihat kembali dokumennya:
db.dogs.find( { _id: 1 } ).pretty() Hasil:
{
"_id" : 1,
"name" : "Fetch",
"weight" : 30,
"lastModified" : ISODate("2021-01-27T01:29:32.833Z")
}
lastModified bidang telah ditambahkan dengan objek Tanggal yang berisi tanggal dan waktu saat ini.
Ada juga CLUSTER_TIME variabel sistem yang mengembalikan stempel waktu saat ini, meskipun ini hanya tersedia pada kumpulan replika dan kluster sharding.
Perhatikan juga bahwa NOW dan CLUSTER_TIME nilai tetap sama di seluruh jalur.