Mongodb: "beğen" normal i̇fadesi ile sorgulama nasıl yapılır


MongoDB’yi “like” normal ifadesiyle sorgulamak için aşağıdaki yöntemleri kullanabilirsiniz:

Yöntem 1: Dize içeren belgeleri bulun

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

i’nin büyük/küçük harfe duyarlı olmayan bir eşleşmeyi gösterdiğini unutmayın.

Yöntem 2: Bir dizeyle başlayan belgeleri bulma

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

Yöntem 3: Bir dizeyle biten belgeleri bulun

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

Aşağıdaki örnekler, her yöntemin aşağıdaki belgelere sahip bir koleksiyon ekibiyle nasıl kullanılacağını gösterir:

 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 })

Örnek 1: Dize içeren belgeleri arayın

Ekip alanında “avs” dizesini içeren tüm belgeleri aramak için aşağıdaki kodu kullanabiliriz:

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

Bu sorgu aşağıdaki iki belgeyi döndürür:

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

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

Örnek 2: Bir dizeyle başlayan belgeleri bulun

Konum alanında “gua” dizesiyle başlayan tüm belgeleri aramak için aşağıdaki kodu kullanabiliriz:

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

Bu sorgu aşağıdaki üç belgeyi döndürür:

 { _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 }

Örnek 3: Bir dizeyle biten belgeleri bulun

Konum alanında “ward” dizesiyle biten tüm belgeleri bulmak için aşağıdaki kodu kullanabiliriz:

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

Bu sorgu aşağıdaki belgeyi döndürür:

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

Not : $regex’in tüm belgelerini burada bulabilirsiniz.

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir