Gruplar İçindeki Ortalamalar
Coddy'nin Node.js Journey'sinin MongoDB ile Veritabanları bölümünün bir parçası. Ders 22 / 29.
Bir grup, gelen belgelerin aynı kümesi için birkaç özet hesaplayabilir. Gruplama ifadesi hangi kayıtların birlikte yer alacağını seçer; her biriktirici ayrı bir çıktı alanı hesaplar.
{$group: {
_id: '$team',
players: {$sum: 1},
averageScore: {$avg: '$score'}
}}Aynı takımdaki iki oyuncu 8 ve 12 puan aldığında, players 2 ve averageScore 10 olur. Tırnak içindeki '$score', gelen her oyuncunun puanını okur. Aynı fikri kitap yıllarına uygulayın. Çıktı alanının adını siz seçebilirsiniz; alan başvurusu, ortalaması alınacak değerleri belirtir.
Görev
KolayBu küçük bir alıştırma projesidir. Kurulumu hazırdır; yalnızca exercise.js dosyasını düzenle.
Kitapları türe göre grupla ve _id, count ve averageYear değerlerini döndür. Çıktıyı _id değerine göre artan sırada sırala. Çalıştır: classic için count 1 ve averageYear 1815; scifi için count 2 ve averageYear 1972.
Kendin dene
export async function exercise(books) {
return await books
.aggregate([{ $group: { _id: '$genre', count: { $sum: 1 } } }, { $sort: { _id: 1 } }])
.toArray();
}
MongoDB ile Veritabanları bölümündeki tüm dersler
3Agregasyon
Belgeleri SaymaAşamalardan Oluşan Bir Pipeline$group ile GruplamaGruplar İçindeki OrtalamalarGrup Sonuçlarını FiltrelemeAgregasyon Pipeline'ları$lookup ile BirleştirmeKendi başına pratik yap: Express playground