Mongodb: nasıl gruplandırılır ve sayılır?


MongoDB’de gruplamak ve saymak için aşağıdaki sözdizimini kullanabilirsiniz:

 db.collection.aggregate([
    { $group : { _id : " $field_name ", count :{ $sum :1}}}
])

Field_name’in gruplandırmak istediğiniz alan olduğunu unutmayın.

Aşağıdaki örnekler, bu sözdiziminin 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: gruplandırma ve sayma

“Konum” alanına göre gruplamak ve her konumun oluşumlarını saymak için aşağıdaki kodu kullanabiliriz.

 db.teams.aggregate([
    { $group : { _id : " $position ", count :{ $sum :1}}}
])

Bu, aşağıdaki sonuçları döndürür:

 { _id: ' Forward ', count: 1 }
{ _id: ' Guard ', count: 3 }
{ _id: ' Center ', count: 1 }

Bu bize şunu söylüyor:

  • “İleri” konumu 1 kez görünür.
  • “Koruma” konumu 3 kez görünür.
  • “Merkez” konumu 1 kez görünür.

Örnek 2: gruplandırma ve sayma (sonra sıralama)

Her konumun oluşumlarını saymak ve sonuçları otomatik olarak artan sırada sıralamak için aşağıdaki kodu kullanabiliriz:

 db.teams.aggregate([
    { $group : { _id : " $position ", count :{ $sum :1}}},
    { $sort : { count : 1}} 
])

Bu, aşağıdaki sonuçları döndürür:

 { _id: ' Forward ', count: 1 }
{ _id: ' Center ', count: 1 }
{ _id: ' Guard ', count: 3 }

Sonuçları azalan düzende sıralamak için count argümanında -1’i kullanabiliriz:

 db.teams.aggregate([
    { $group : { _id : " $position ", count :{ $sum :1}}},
    { $sort : { count :-1}} 
])

Bu, aşağıdaki sonuçları döndürür:

 { _id: ' Guard ', count: 3 }
{ _id: ' Forward ', count: 1 }
{ _id: ' Center ', count: 1 }

Not : $group’un tüm belgelerini burada bulabilirsiniz.

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 toplanır?
MongoDB: Bir alandaki farklı değerler nasıl sayılır?
MongoDB: Birden fazla alana göre nasıl gruplandırılır

Yorum ekle

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