Mongodb: bir koleksiyondaki maksimum değer nasıl bulunur?


MongoDB’de bir alanın maksimum değerini bulmak için aşağıdaki yöntemleri kullanabilirsiniz:

Yöntem 1: Maksimum değeri içeren bir belge döndür

 db.teams.find().sort({" field ": -1 }).limit( 1 )

Bu kod parçası, koleksiyondaki tüm belgeleri belirli bir alana göre azalan sırada sıralar ve ardından yalnızca ilk belgeyi döndürür.

Yöntem 2: Yalnızca maksimum değeri döndür

 db.teams.find().sort({" field ": -1 }).limit( 1 ).toArray().map(function(u){ return u.field})

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: Maksimum değer içeren bir belgeyi döndürün

“Puan” alanındaki maksimum değeri içeren belgeyi döndürmek için aşağıdaki kodu kullanabiliriz:

 db.teams.find().sort({" points ": -1 }).limit( 1 ) 

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

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

Bu belge tüm belgeler arasında “puan” alanında en yüksek değeri (33) içerdiği için döndürülmüştür.

Örnek 2: Yalnızca maksimum değeri döndür

Tüm belgelerde yalnızca “puan” alanındaki maksimum değeri döndürmek için aşağıdaki kodu kullanabiliriz:

 db.teams.find().sort({" points ": -1 }).limit( 1 ).toArray().map(function(u){ return u.points})

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

 [33]

Maksimum değeri içeren belgenin tamamı yerine yalnızca maksimum değerin (33) döndürüldüğünü unutmayın.

Ek kaynaklar

Aşağıdaki eğitimlerde MongoDB’de diğer yaygın işlemlerin nasıl gerçekleştirileceği açıklanmaktadır:

MongoDB: Nasıl gruplandırılır ve sayılır?
MongoDB: Birden fazla alana göre nasıl gruplandırılır
MongoDB: Alanın bir dize içerip içermediği nasıl kontrol edilir

Yorum ekle

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