Di MongoDB, $toLower
operator pipeline agregasi mengonversi string menjadi huruf kecil 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 $toLower
operator untuk mengonversi bidang tersebut menjadi string huruf kecil dan mengembalikan hasilnya.
Berikut ini contoh mengembalikan name
dan type
kolom dalam huruf kecil:
db.pets.aggregate(
[
{
$project:
{
name: { $toLower: "$name" },
type: { $toLower: "$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 }
Dalam hal ini, sebagian besar karakter adalah huruf kecil untuk memulai, tetapi karakter pertama adalah huruf besar, Dalam semua kasus, karakter tersebut diubah menjadi huruf kecil dan hasilnya dikembalikan.
Mengonversi Non-String
Anda dapat menggunakan $toLower
pada nilai yang belum tentu string. Argumen dapat berupa ekspresi apa pun selama argumen tersebut diselesaikan menjadi string.
Misalnya, kita dapat menggunakan $toLower
untuk mengonversi weight
field menjadi string huruf kecil, meskipun field tersebut hanya berisi angka.
Contoh:
db.pets.aggregate(
[
{
$project:
{
name: { $toLower: "$name" },
type: { $toLower: "$type" },
weight: { $toLower: "$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, mengingat bidang ini hanya berisi angka, tidak ada efek huruf kecil – 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.