MongoDB memiliki tipe Date BSON yang memungkinkan Anda untuk menyimpan tanggal sebagai tanggal.
Anda juga dapat menyimpan tanggal sebagai string, jika itu yang Anda butuhkan.
Mengambil langkah lebih jauh, Anda juga dapat mengonversi Tanggal menjadi string.
Artikel ini menyajikan tiga cara untuk mengonversi Tanggal menjadi string di MongoDB.
Contoh Data
Contoh dalam artikel ini menggunakan dokumen berikut dalam koleksi yang disebut cats
:
{
"_id" : 1,
"name" : "Scratch",
"born" : ISODate("2021-01-03T23:30:15.123Z")
}
Perhatikan bahwa born
bidang adalah Tanggal. Contoh berikut menggunakan berbagai operator saluran agregasi untuk mengubah bidang ini menjadi string.
$dateToString
Operator
$dateToString
operator pipa agregasi adalah tempat yang paling jelas untuk memulai.
Sesuai dengan namanya, tujuan utamanya adalah untuk mengonversi Tanggal menjadi string (dan mengembalikan hasilnya).
Contoh:
db.cats.aggregate(
[
{
$project: {
_id: 0,
dateString: { $dateToString: { format: "%Y-%m-%dT%H:%M:%S.%LZ", date: "$born" } }
}
}
]
)
Hasil:
{ "dateString" : "2021-01-03T23:30:15.123Z" }
Di sini, saya menyediakan string format untuk menentukan format string yang dihasilkan. Dalam hal ini, saya menggunakan %Y-%m-%dT%H:%M:%S.%LZ
, yang merupakan format default. Jika saya tidak menentukan format, ini adalah format yang akan digunakan.
Anda dapat memindahkan penentu format tersebut agar sesuai dengan string yang dihasilkan.
Misalnya, kita bisa melakukan ini:
db.cats.aggregate( [ { $project: { _id: 0, dateString: { $dateToString: { format: "%d/%m/%Y", date: "$born" } } } } ] )
Hasil:
{ "dateString" : "03/01/2021" }
Lihat MongoDB $dateToString
untuk informasi lebih lanjut tentang operator ini.
$toString
Operator
$toString
operator pipa agregasi mirip dengan $dateToString
, kecuali dapat mengonversi dari berbagai jenis – tidak hanya terbatas pada mengonversi dari Tanggal.
Tetapi untuk tujuan kami, kami mengonversi dari Tanggal.
Contoh:
db.cats.aggregate(
[
{
$project: {
_id: 0,
dateString: { $toString: "$born" }
}
}
]
)
Hasil:
{ "dateString" : "2021-01-03T23:30:15.123Z" }
Operator ini tidak memberi kami opsi untuk menentukan format, sehingga format dikembalikan apa adanya.
Lihat MongoDB $toString
untuk informasi dan contoh lebih lanjut.
The $convert
Operator
$convert
operator secara khusus dirancang untuk mengkonversi antara satu jenis dan jenis lainnya.
input
parameter menentukan bidang yang ingin Anda konversi, dan to
parameter menentukan jenis yang ingin Anda ubah.
Contoh:
db.cats.aggregate(
[
{
$project:
{
result:
{
$convert: {
input: "$born",
to: "string",
onError: "An error occurred",
onNull: "Input was null or empty"
}
}
}
}
]
)
Hasil:
{ "_id" : 1, "result" : "2021-01-03T23:30:15.123Z" }
Perhatikan bahwa $convert
operator juga menerima onError
dan onNull
parameter, yang memungkinkan kami memberikan pesan untuk digunakan jika terjadi kesalahan atau null
nilai. Ini mencegah seluruh operasi agregasi terhenti, dan memungkinkan pesan kesalahan yang mudah digunakan dalam dokumen keluaran.
Lihat MongoDB $convert
untuk informasi dan contoh lebih lanjut.