Mongodb: cara memeriksa apakah bidang berisi string


Anda dapat menggunakan sintaks berikut di MongoDB untuk memeriksa apakah bidang tertentu berisi string tertentu:

 db.collection.findOne({ name : { $regex : /string/ }})

Contoh berikut memperlihatkan cara menggunakan sintaksis ini dengan tim koleksi dengan dokumen berikut:

 db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 31 })
db.teams.insertOne({team: " Spurs ", position: " Guard ", points: 22 })
db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 })
db.teams.insertOne({team: " Warriors ", position: " Forward ", points: 26 })
db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })

Contoh 1: Periksa apakah kolom berisi string

Kita dapat menggunakan kode berikut untuk memeriksa apakah ada dokumen yang berisi string “avs” di bidang tim:

 db.teams.findOne({ team : { $regex : /avs/ }}) 

Kueri ini mengembalikan dokumen berikut:

 { _id: ObjectId("618050098ffcfe76d07b1da5"),
  team: 'Mavs',
  position: 'Guard',
  points: 31 }

Perhatikan bahwa fungsi findOne() mengembalikan dokumen pertama dalam koleksi yang memenuhi kriteria kueri.

Ini berarti bahwa tim lain mungkin juga memiliki string “avs” di nama tim mereka, namun dokumen yang berisi nama tim “Mavs” hanyalah yang pertama.

Contoh 2: Periksa apakah bidang berisi string (tidak peka huruf besar-kecil)

Kita juga bisa menggunakan i setelah string untuk membuat pencocokan case-insensitive .

Misalnya, kita menggunakan kueri berikut:

 db.teams.findOne({ team : { $regex : /AVS/i }}) 

Kueri ini juga mengembalikan dokumen berikut:

 { _id: ObjectId("618050098ffcfe76d07b1da5"),
  team: 'Mavs',
  position: 'Guard',
  points: 31 }

Contoh 3: Periksa apakah bidang berisi string (tidak ada hasil)

Jika suatu bidang tidak berisi string spesifik yang kita cari, kita hanya akan menerima null yang sesuai.

Misalnya, kita menggunakan kueri berikut:

 db.teams.findOne({ team : { $regex : /ricks/ }})

Kueri ini mengembalikan hasil berikut:

 null

Karena tidak ada dokumen yang berisi string “ricks” dalam nama tim, kami menerima null sebagai hasilnya.

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

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di MongoDB:

MongoDB: Cara mencari “not null” di bidang tertentu
MongoDB: Cara melakukan kueri dengan ekspresi reguler “Suka”.
MongoDB: Cara menambahkan bidang baru ke koleksi
MongoDB: Cara menghapus bidang dari setiap dokumen

Tambahkan komentar

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