Rata-Rata dalam Kelompok
Termasuk bagian Database dengan MongoDB dalam perjalanan Node.js di Coddy. Pelajaran 22 dari 29.
Satu grup dapat menghitung beberapa ringkasan dari dokumen yang sama. Ekspresi pengelompokan menentukan catatan mana yang termasuk dalam grup yang sama; setiap akumulator menghitung field output yang terpisah.
{$group: {
_id: '$team',
players: {$sum: 1},
averageScore: {$avg: '$score'}
}}Untuk dua pemain dalam tim yang sama dengan skor 8 dan 12, players bernilai 2 dan averageScore bernilai 10. '$score' yang diapit tanda kutip mengambil skor dari setiap pemain yang masuk. Terapkan ide yang sama pada tahun terbit buku. Kamu bebas menentukan nama field output; referensi field mengidentifikasi nilai yang akan dirata-ratakan.
Tantangan
MudahIni adalah proyek latihan kecil. Penyiapannya sudah disediakan, edit hanya exercise.js.
Kelompokkan buku berdasarkan genre, lalu kembalikan _id, count, dan averageYear. Urutkan output berdasarkan _id secara menaik. Jalankan: classic memiliki count 1 dan averageYear 1815; scifi memiliki count 2 dan averageYear 1972.
Coba sendiri
export async function exercise(books) {
return await books
.aggregate([{ $group: { _id: '$genre', count: { $sum: 1 } } }, { $sort: { _id: 1 } }])
.toArray();
}
Semua pelajaran di Database dengan MongoDB
1Dokumen
Buku sebagai DokumenKoleksi dan DatabaseMenghubungkan ke MongoDBMembaca Dokumen TersimpanMenyisipkan DokumenMenemukan Satu DokumenMenemukan Dokumen berdasarkan ObjectIdMembandingkan AngkaFilter QueryMemilih Field yang DikembalikanMengurutkan Hasil QueryMempertahankan Hasil PertamaProyeksi, Pengurutan, dan BatasLatihan sendiri: Playground Express