MongoDB’de aggregate pipeline kullanarak veriler nasıl gruplanır?

MongoDB’de Aggregate Pipeline ile Verileri Gruplama

MongoDB'de veri gruplamak için aggregate pipeline kullanılır. Bu işlem, belirli bir aşamadan geçirerek verileri toplu hale getirmeyi sağlar. Aşağıda, verilerin nasıl gruplandığını anlatan temel adımlar yer almaktadır.

Aşama 1: $match

Bu aşama, belirli kriterlere göre belgeleri filtreler. Örneğin, yalnızca belirli bir tarih aralığı içindeki verileri almak için kullanılabilir.

Aşama 2: $group

Gruplama işlemi için en önemli aşamadır. Aşağıdaki gibi kullanılır:
  • key: Gruplama yapılacak alan (örneğin, "kategori").
  • accumulator: Gruplama sırasında yapılacak hesaplamalar (örneğin, toplam veya ortalama).
Örnek kullanım: ``` db.collection.aggregate([ { $match: { tarih: { $gte: ISODate("2023-01-01"), $lte: ISODate("2023-12-31") } } }, { $group: { _id: "$kategori", toplam: { $sum: "$miktar" } } } ]) ```

Aşama 3: $sort

Grupladıktan sonraki verilerin sıralanması için kullanılır. Örneğin, toplam miktara göre azalan sırada sıralamak için.

Aşama 4: $project

Sonuçların formatını değiştirmek için bu aşama kullanılır. İstenmeyen alanları çıkartabilir veya yeni alanlar ekleyebilirsiniz.

Örnek Aggregate Pipeline

Özetle, bir örnek aggregate pipeline aşağıdaki gibidir: ``` db.collection.aggregate([ { $match: { durum: "aktif" } }, { $group: { _id: "$sektor", toplam: { $sum: "$deger" } } }, { $sort: { toplam: -1 } }, { $project: { sektor: "$_id", toplam: 1, _id: 0 } } ]) ``` Bu pipeline, "aktif" olan verileri gruplayarak sektör bazında toplam değerleri verir ve bunları büyükten küçüğe sıralar.


🐞

Hata bildir

Paylaş