MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

MongoDB $toLower

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.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Gunakan mongoexport dengan --query untuk ISODate

  2. Bagaimana menemukan nama bidang MongoDB pada kedalaman yang sewenang-wenang

  3. MongoDB $toUpper

  4. Temukan menggunakan _id tidak berfungsi dengan agregasi

  5. Memperbarui array bersarang di mongodb