Agregasi di MongoDB: Pipeline & Sintaks

Diterbitkan: 2020-09-23

Daftar isi

pengantar

MongoDB adalah bentuk media penyimpanan data volume tinggi. Ini bertindak sebagai database non-relasional dengan kueri dokumen. Unit dasar dalam MongoDB adalah pasangan nilai kunci dari dokumen dalam koleksi MongoDB. Ini menjadi media yang sangat bermanfaat sejak awal 2000-an.

Agregasi di MongoDB adalah kerangka kerja yang memungkinkan kita untuk melakukan berbagai tugas komputasi pada dokumen dalam satu atau lebih koleksi MongoDB. Ini adalah cara yang efektif untuk menghasilkan laporan atau beberapa metrik data untuk interpretasi dari dokumen yang berbeda. Kerangka kerja ini dinamai MongoDB karena menggabungkan banyak dokumen untuk membentuk hasil yang bersatu dan digabungkan.

Agregasi di MongoDB terutama berisi kerangka kerja pipa. Konsep dasar yang mendasari pipa adalah bahwa input diambil dari koleksi MongoDB, dan dokumen-dokumen dilewatkan melalui serangkaian tahapan untuk menghasilkan keluaran terpadu pada akhirnya. Ide ini sangat mirip dengan konsep pipeline Linux, yaitu Bash.

Fitur Utama MongoDB

Ada banyak alasan mengapa sistem basis data ini banyak digunakan. Beberapa fitur khusus disebutkan di bawah ini:

  • MongoDB, sebagai database NoSQL, sangat fleksibel untuk digunakan. Ini berorientasi pada dokumen.
  • Pasangan nilai kunci dapat mengindeks bidang di dalam dokumen. Ini berdiri menjadi fitur yang sangat khusus dari MongoDB.
  • MongoDB membagi kumpulan data besar menjadi contoh kecil dengan menggunakan konsep sharding. Dengan cara ini, ia dapat menjalankan banyak server, menjaga instance tetap seimbang.
  • Kueri di MongoDB dapat mengembalikan bidang tertentu dalam dokumen.

Baca: Ide & Topik Proyek MongoDB

Mengapa Agregasi di MongoDB berguna?

Ada kalanya pemrosesan jutaan file yang disematkan mungkin diperlukan. Namun, ini dapat menyebabkan luapan di tumpukan server dan menyebabkan proses dihentikan. Batasan pemrosesan sejumlah besar file yang disematkan memanjakan peningkatan proses pemindaian dengan mengaitkan file bersama-sama.

Oleh karena itu, operasi agregasi dirancang untuk menghitung dokumen dalam berbagai tahap dan menunjukkan efek kumulatif sebagai hasilnya dan mengembalikannya. Teknik pencocokan generasi hasil merevolusi masalah sejumlah besar file. Oleh karena itu, kerangka agregasi sangat penting.

Kerangka kerja ini dapat melakukan banyak operasi kueri pada file yang berbeda secara bersamaan. Ini memiliki banyak kemiripan dengan kueri Database relasional.

Lihat: Perintah MongoDB Paling Umum

Apa itu Pipa Agregasi?

Pipeline adalah kerangka kerja tahapan berkelanjutan yang dirancang untuk melakukan tugas terpisah yang bersama-sama menyelesaikan satu tujuan terpadu. Di sini, di Agregasi MongoDB , kerangka kerja ini melayani proses komputasi dan memanipulasi dokumen. Banyak dokumen dari koleksi MongoDB diberikan sebagai masukan, dan khusus untuk metodologi; tugas tertentu dilakukan pada setiap tahap.

Kemudian, semua hasil disatukan secara kolektif, dan metrik kumulatif dihitung, yang ditampilkan sebagai keluaran. Outputnya sangat mirip dengan output query yang diberikan dari database relasional, yaitu, aliran dokumen untuk bekerja tambahan. Nantinya dapat digunakan dalam pembuatan laporan pembuatan website.

Jadi, setiap tahap bertindak sebagai unit pemrosesan di sini. Untuk setiap tahap internal, output dari tahap sebelumnya bertindak sebagai input. Juga, filter tambahan dapat ditambahkan pada tahap awal. Tahapan sering dirancang dengan banyak hyperparameter. Untuk tujuan ini, beberapa kenop atau tombol penyetelan disediakan untuk mengontrolnya. Mengubah hyperparameter ini mempengaruhi hasil tahap itu. Ini membuat parameter tugas yang menarik untuk dilakukan. Dengan cara ini, tahap melakukan tugas umum.

Mungkin ada situasi ketika seseorang mungkin ingin memasukkan jenis tahapan yang serupa beberapa kali dalam saluran pipa tertentu. Misalnya, mungkin ada filter yang ada di bagian awal agar tidak melewati seluruh koleksi. Tetapi kemudian, setelah beberapa pemrosesan, filter lain mungkin diperlukan untuk kriteria yang berbeda.

Sintaksis

Ada format khusus di mana kueri agregasi dibangun. Sintaks dan format kode ditunjukkan di bawah ini.

db.Nama_Koleksi.agregat([

{ $cocok: {“_id_field_”: nilai}}

{ $grup: {“_id_field_”: nilai}}

{ $sort: {“_id_field_”: nilai}}

]);

Perintah Pipeline

  • Perintah Struktural : Perintah struktural membantu mengatur dokumen dan membuatnya cocok untuk operasi manipulasi data. Ada dua perintah struktural utama, yang sangat sering digunakan.
  1. Pencocokan : Ini adalah tahap penyaringan. Tahap ini memotong dokumen-dokumen yang tidak dipedulikan. Perintah ini memiliki banyak kemiripan dengan fungsi WHERE dari SQL.

db.pelanggan.agregat([

{ $cocok: {“zip”: 700068}}

]);

Potongan kode di atas mengembalikan dokumen semua pelanggan yang tinggal di 700068 kode pos, dari Koleksi MongoDB.

1. Pengelompokan : Setelah menyaring dokumen, diperlukan pengelompokan khusus. Hal ini memungkinkan untuk membentuk himpunan bagian dari seluruh koleksi. Juga, dokumen dapat dikelompokkan berdasarkan kesamaan yang serupa. Clustering membantu untuk melakukan operasi serupa pada mereka bersama-sama.

db.pelanggan.agregat([

{ $cocok: {“zip”: 700068}}

{

$grup: {

_id: nol,

Menghitung: {

$jumlah: 1

}

}

]);

$group memungkinkan pengelompokan dokumen untuk melakukan operasi transformasi. Perintah _id berhubungan dengan menjaga bidang data.

2. Sort : Ini membantu untuk mengurutkan dokumen dalam urutan menaik atau menurun berdasarkan bidang kueri tertentu.

db.pelanggan.agregat([

{ $cocok: {“zip”: 700068}}

{

$grup: {

_id: nol,

Menghitung: {

$jumlah: 1

}

}

{

$urutkan: {

{"zip": -1}

}

}

]);

Ini akan mengurutkan dokumen berdasarkan kode posnya.

  • Perintah Operasional : Ada banyak perintah operasional di MongoDB Aggregation , yang membantu melakukan tugas data. Beberapa perintah yang paling penting dijelaskan di bawah ini:
  1. Summation ($sum) : Mengembalikan penambahan semua nilai dari dokumen.
  2. Maximum ($max) : Menampilkan nilai maksimum variabel tertentu dari semua dokumen.
  3. Minimum ($min) : Mengembalikan nilai minimum dari sebuah variabel.
  4. Average ($avg) : Menghitung rata-rata nilai dari setiap dokumen.
  5. Push ($push) : Menambahkan nilai ke array.
  6. Pertama ($pertama) : Mengembalikan dokumen pertama dari koleksi.
  7. Last ($last) : Mengembalikan dokumen terakhir dari koleksi.
  8. Menambahkan ke Set ($addToSet) : Menambahkan nilai ke array dokumen tanpa menduplikasinya.

Baca Juga: Lingkup MongoDB Masa Depan

Membungkus

Di era Big Data ini, database non-relasional sangat berguna untuk menangani kumpulan sampel yang besar. Saat ini, bidang ilmu data dan pengembangan sudah terbiasa dengan penggunaan MongoDB. Kerangka kerja ini dapat digunakan dengan bahasa populer seperti Java, JavaScript, Python, dan banyak bahasa lainnya. Memiliki pengetahuan tentang MongoDB dan tangan yang kuat dengan kerangka kerja agregasi dapat membuat karier impian.

Jika Anda sudah tertarik dengan MongoDB agregasi dan cari beberapa kursus online, lihat Diploma PG kami dalam Spesialisasi Pengembangan Perangkat Lunak dalam program Big Data yang dirancang untuk para profesional yang bekerja dan menyediakan 7+ studi kasus & proyek, mencakup 14 bahasa & alat pemrograman, lokakarya praktis, lebih dari 400 jam pembelajaran yang ketat & bantuan penempatan kerja dengan perusahaan-perusahaan top.

Dalam hal ini, kursus ini tentu akan membantu Anda dalam memperoleh semua pengetahuan tentang struktur dan algoritma Data, pemrograman Java, Dasar Basis Data, HTML, CSS, JavaScript, Angular, Java, Analisis & Desain Berorientasi Objek.

Lebih dari 250 jam pengajaran online, sesi satu lawan satu dengan pakar industri, dan banyak lagi tersedia dalam kursus ini. Selain itu, kursus ini akan dikurasi oleh pakar materi pelajaran dari upGrad, dan Anda akan diberikan peluang penempatan dari perusahaan IT terkemuka, perusahaan berbasis produk, dan perusahaan rintisan.

Pelajari Kursus Pengembangan Perangkat Lunak online dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Lanjutan, atau Program Magister untuk mempercepat karier Anda.

Pimpin Revolusi Teknologi Berbasis Data

Program Sertifikat Tingkat Lanjut dalam Data Besar dari IIIT Bangalore