Di MongoDB, $toUpper
operator pipeline agregasi mengonversi string menjadi huruf besar dan mengembalikan hasilnya.
Contoh
Misalkan kita memiliki koleksi yang disebut pets
dengan dokumen sebagai berikut:
{ "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 }
{ "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 }
{ "_id" : 3, "name" : "Meow", "type" : "Cat", "weight" : 7 }
Kita dapat menggunakan $toUpper
operator untuk mengonversi bidang tersebut menjadi string huruf besar dan mengembalikan hasilnya.
Berikut ini contoh mengembalikan name
dan type
kolom dalam huruf besar:
db.pets.aggregate(
[
{
$project:
{
name: { $toUpper: "$name" },
type: { $toUpper: "$type" },
weight: "$weight"
}
}
]
)
Hasil:
{ "_id" : 1, "name" : "WAG", "type" : "DOG", "weight" : 20 } { "_id" : 2, "name" : "BARK", "type" : "DOG", "weight" : 10 } { "_id" : 3, "name" : "MEOW", "type" : "CAT", "weight" : 7 }
Mengonversi Non-String
Anda dapat menggunakan $toUpper
pada nilai yang belum tentu string. Argumen dapat berupa ekspresi apa pun selama argumen tersebut diselesaikan menjadi string.
Misalnya, kita dapat menggunakan $toUpper
untuk mengonversi weight
field menjadi string huruf besar, meskipun field tersebut hanya berisi angka.
Contoh:
db.pets.aggregate(
[
{
$project:
{
name: { $toUpper: "$name" },
type: { $toUpper: "$type" },
weight: { $toUpper: "$weight" }
}
}
]
)
Hasil:
{ "_id" : 1, "name" : "WAG", "type" : "DOG", "weight" : "20" } { "_id" : 2, "name" : "BARK", "type" : "DOG", "weight" : "10" } { "_id" : 3, "name" : "MEOW", "type" : "CAT", "weight" : "7" }
Kita dapat melihat bahwa weight
bidang diubah menjadi string, karena sekarang dikelilingi oleh tanda kutip. Namun, karena bidang ini hanya berisi angka, tidak ada efek huruf besar – angka tidak memiliki huruf besar dan kecil, sehingga kami tidak dapat melihat perbedaan dalam hal huruf.
Jika kita hanya ingin mengonversi angka menjadi string, kita bisa menggunakan $toString
operator atau bahkan $convert
operator.