Mongodb: cara membuat kueri dengan ekspresi reguler “suka”.


Anda dapat menggunakan metode berikut untuk menanyakan MongoDB dengan ekspresi reguler “seperti”:

Metode 1: Temukan dokumen yang berisi string

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

Perhatikan bahwa i menunjukkan kecocokan yang tidak peka huruf besar-kecil.

Metode 2: Temukan dokumen yang dimulai dengan string

 db.collection.find({ name : { $regex : /^string/i }}) 

Metode 3: Temukan dokumen yang diakhiri dengan string

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

Contoh berikut menunjukkan cara menggunakan setiap metode dengan tim pengumpulan 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: Cari dokumen yang mengandung string

Kita dapat menggunakan kode berikut untuk mencari semua dokumen yang mengandung string “avs” di kolom tim:

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

Kueri ini mengembalikan dua dokumen berikut:

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

{ _id: ObjectId("618285361a42e92ac9ccd2c6"),
  team: 'Cavs',
  position: 'Guard',
  points: 33 }

Contoh 2: Temukan dokumen yang dimulai dengan string

Kita dapat menggunakan kode berikut untuk mencari semua dokumen yang dimulai dengan string “gua” di kolom posisi:

 db.teams.find({ position : { $regex : /^gua/i }})

Kueri ini mengembalikan tiga dokumen berikut:

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

{ _id: ObjectId("6180504e8ffcfe76d07b1da7"),
  team: 'Spurs',
  position: 'Guard',
  points: 22 }

{ _id: ObjectId("618285361a42e92ac9ccd2c6"),
  team: 'Cavs',
  position: 'Guard',
  points: 33 }

Contoh 3: Temukan dokumen yang diakhiri dengan string

Kita dapat menggunakan kode berikut untuk menemukan semua dokumen yang diakhiri dengan string “ward” di bidang posisi:

 db.teams.find({ position : { $regex : /ward$/i }})

Kueri ini mengembalikan dokumen berikut:

 { _id: ObjectId("618050808ffcfe76d07b1dab"),
  team: 'Warriors',
  position: 'Forward',
  points: 26 }

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

Tambahkan komentar

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