Operator grup (juga dikenal sebagai operator akumulator) adalah operator penting dalam bahasa MongoDB, karena membantu melakukan berbagai transformasi data. Ini adalah bagian dari agregasi di MongoDB. MongoDB adalah program manajemen basis data NoSQL sumber terbuka Show NoSQL adalah alternatif untuk basis data relasional tradisional. Basis data NoSQL cukup berguna saat bekerja dengan set besar data terdistribusi. MongoDB adalah alat yang dapat mengelola informasi berorientasi dokumen, menyimpan, atau mengambil informasi Pada artikel ini, kita akan belajar tentang operator $group dengan beberapa contoh PrasyaratSebelum kita mulai, pastikan Anda memiliki yang berikut ini
PengumpulanAgregasi adalah operasi yang memproses data untuk memberikan hasil yang dihitung. Operasi agregasi mengelompokkan nilai dari beberapa dokumen secara bersamaan dan dapat melakukan berbagai operasi pada data yang dikelompokkan untuk mengembalikan satu hasil. Ini melibatkan tahapan atau jalur pipa di mana data diproses untuk menghasilkan hasil gabungan Pipeline adalah tahapan di mana data diproses, lebih teknis diubah menjadi kriteria yang disediakan. Setiap pipa independen dan menerima data dari tahap sebelumnya. Ingatlah selalu bahwa pipeline pertama akan memiliki kontak langsung dengan data itu sendiri, bukan versi transformasinya, dan dapat memanfaatkan indeks Apa itu operator $grup?Seperti namanya, operator Misalkan ada 15 orang dalam database dan mereka semua memiliki hobi yang sama. Jika kita ingin menghitung semua orang yang memiliki hobi yang sama, maka operator Mari kita lihat sintaksnya
Bidang 0 dalam dokumen keluaran berisi grup yang berbeda berdasarkan kunci. Dokumen keluaran juga dapat berisi bidang yang dihitung yang menyimpan nilai beberapa ekspresi akumulator yang dikelompokkan berdasarkan bidang 0 $groupBidang 0 di sini akan mengambil bidang yang ingin Anda gunakan untuk mengelompokkan dokumen. Wajib menggunakan 0 di siniOperator $group tidak menghapus data dari database. Itu hanya mengumpulkan banyak dokumen menjadi satu dokumen berdasarkan bidang yang diteruskan ke bidang 0Poin penting untuk diingat
ContohSekarang, mari kita lihat sebuah contoh. Cuplikan kode harus dijalankan di shell mongo Mari kita membuat database _Sekarang, mari buat koleksi bernama 6 dan masukkan beberapa dokumen ke dalam koleksi tersebut menggunakan fungsi 7 seperti
Sekarang kita memiliki beberapa dokumen dalam koleksi, mari kita gunakan Untuk melakukan itu kita harus menggunakan fungsi _9 pada koleksi yang mengambil array pipa atau tahapan di mana data dalam koleksi itu akan diubah. Karena kita tertarik untuk mengelompokkan data, kita harus menggunakan operator $group bersama dengan operator akumulatorAnda harus memberikan kunci yang akan menyimpan hasil dari operator akumulator. Untuk contoh ini, kami menggunakan _1 sebagai kunci dan ini akan membantu kami mengumpulkan dataSintaks fungsi _9
Sekarang menerapkan logika dan sintaks yang kita pelajari di atas, kueri akan terlihat seperti
Keluaran
Seperti yang Anda lihat, bidang _0 akan menampung bidang atau kriteria yang Anda gunakan untuk mengelompokkan data Anda dan 5 adalah kunci yang menyimpan hasil operator akumulator i. e. , operator _6Operator _6 akan mengembalikan jumlah kolektif semua nilai numerik dari menerapkan ekspresi tertentu ke setiap dokumen dalam grup dokumen yang berbagi grup yang sama dengan kunciAgar operator 6, 0, 1, atau 2. Karena operator menghasilkan hasil gabungan berdasarkan ekspresi pengelompokanUntuk mempelajari lebih lanjut tentang operator akumulator, silakan kunjungi dokumentasi resmi MongoDB Mari kita lihat kasus penggunaan lainnya. Katakanlah kita tertarik pada jumlah orang yang memiliki hobi serupa. Untuk mencapai ini, kita harus menjadikan setiap hobi sebagai bidang tingkat atas yang terpisah dengan menggunakan operator 3Operator _3 akan mengeluarkan setiap nilai satu per satu dari array, tempat Anda menggunakan operator ini dan menetapkannya ke kunci yang menyimpan array itu dalam bentuk pasangan kunci-nilai tunggalIni memungkinkan lebih banyak fleksibilitas untuk menanyakan array dan data dalam database. Kemudian kita harus melakukan hal yang sama seperti yang kita lakukan pada contoh pertama karena, hobi bukanlah sebuah array tetapi bidang tingkat atas dalam bentuk nilai kunci, dan menerapkan operator
Keluaran
Untuk mempelajari lebih lanjut tentang operator _3, silakan kunjungi dokumentasi resmi MongoDBAplikasi operator $group
|