Mongodb: cara mencari panjang string


Anda dapat menggunakan metode berikut untuk menemukan panjang string di MongoDB dan menggunakan panjang string tersebut dalam kueri:

Metode 1: Temukan panjang rantai

 db.myCollection.aggregate([
  { $project : {
        "name": 1,
        "length": { $strLenCP : " $name " }
  }}
])

Metode 2: Temukan dokumen yang stringnya lebih besar dari panjang tertentu

 db.myCollection.find({ 
    "name": { $exists : true },
    $expr : { $gt : [ { $strLenCP : " $name " }, 14 ] } 
})

Contoh berikut menunjukkan cara menggunakan setiap metode dengan tim pengumpulan dengan dokumen berikut:

 db.teams.insertOne({name: " Dallas Mavs ", points: 31})
db.teams.insertOne({name: " San Antonio Spurs ", points: 22})
db.teams.insertOne({name: " Houston Rockets ", points: 19})
db.teams.insertOne({name: " Boston Celtics ", points: 26})
db.teams.insertOne({name: " Cleveland Cavs ", points: 33})

Contoh 1: Mencari Panjang Tali

Kita dapat menggunakan kode berikut untuk menghitung panjang string di kolom “nama” setiap dokumen:

 db.teams.aggregate([
  { $project : {
        "name": 1,
        "length": { $strLenCP : " $name " }
  }}
])

Kode ini mengembalikan hasil berikut:

 { _id: ObjectId("62014eff4cb04b772fd7a93d"),
  name: 'Dallas Mavs',
  length: 11 }
{ _id: ObjectId("62014eff4cb04b772fd7a93e"),
  name: 'San Antonio Spurs',
  length: 17 }
{ _id: ObjectId("62014eff4cb04b772fd7a93f"),
  name: 'Houston Rockets',
  length: 15 }
{ _id: ObjectId("62014eff4cb04b772fd7a940"),
  name: 'Boston Celtics',
  length: 14 }
{ _id: ObjectId("62014eff4cb04b772fd7a941"),
  name: 'Cleveland Cavs',
  length: 14 }

Nilai panjang menampilkan panjang string di kolom “nama”.

Misalnya:

  • Panjang rantai “Dallas Mavs” adalah 11 .
  • Panjang rantai ‘San Antonio Spurs’ adalah 17 .

Dan seterusnya.

Perhatikan bahwa panjangnya juga menghitung ruang kosong.

Contoh 2: Temukan dokumen yang stringnya lebih besar dari panjang tertentu

Kita dapat menggunakan kode berikut untuk mengembalikan hanya dokumen yang stringnya di kolom “nama” lebih besar dari 14 :

 db.teams.find({ 
    "name": { $exists : true },
    $expr : { $gt : [ { $strLenCP : " $name " }, 14 ] } 
})

Kueri ini mengembalikan hasil berikut:

 { _id: ObjectId("62014eff4cb04b772fd7a93e"),
  name: 'San Antonio Spurs',
  points: 22 }
{ _id: ObjectId("62014eff4cb04b772fd7a93f"),
  name: 'Houston Rockets',
  points: 19 }

Perhatikan bahwa hanya dua tim yang dikembalikan adalah tim yang kolom “nama”-nya lebih besar dari 14 .

Catatan : Anda dapat menemukan dokumentasi lengkap untuk fungsi $strLenCP di sini .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di MongoDB:

MongoDB: Cara membagi string menjadi array substring
MongoDB: Cara menggabungkan string dari dua bidang
MongoDB: Cara mengganti string di

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *