Objek push grup agregat mongodb

org. springframework. data. mongodb. inti. aggregationGroupOperationpush

Javadoc

Menghasilkan GroupOperationBuilder untuk $push-expression untuk nilai yang diberikan

Metode populer dari GroupOperation

  • menghitung

    Menghasilkan GroupOperationBuilder untuk $sum-expression. Hitungan ekspresi ditiru melalui $sum. 1

  • jumlah

    Menghasilkan GroupOperationBuilder untuk $sum-expression untuk AggregationExpression yang diberikan

  • addToSet
  • Membuat GroupOperation baru dari GroupOperation yang diberikan dan Operasi yang diberikan

  • dan

    Membuat GroupOperation baru dari yang sekarang menambahkan Operasi yang diberikan

  • pertama

    Menghasilkan GroupOperationBuilder untuk $first-expression untuk AggregationExpression yang diberikan

  • newBuilder

Populer di Jawa

  • Panggilan istirahat reaktif menggunakan templat istirahat musim semi
  • onRequestPermissionsResult (Fragmen)
  • findViewById (Aktivitas)
  • getSystemService (Konteks)
  • Deque (java. utilitas)

    Koleksi linier yang mendukung penyisipan dan penghapusan elemen di kedua ujungnya. Nama deque adalah pendek

  • Hashtable (java. utilitas)

    Pengganti plug-in untuk JDK1. 5 jawa. utilitas. Hashtable. Versi ini didasarkan pada org. tebingc. skala_tinggi

  • PriorityQueue (java. utilitas)

    PriorityQueue menyimpan elemen pada tumpukan prioritas, yang mengurutkan elemen sesuai dengan natunya

  • ResourceBundle (java. utilitas)

    ResourceBundle adalah kelas abstrak yang merupakan superclass dari kelas yang menyediakan spesifikasi Lokal

  • StringUtils (org. apache. milik bersama. lang)

    Operasi di java. lang. String yang tidak aman. * IsEmpty/IsBlank - memeriksa apakah sebuah String berisi

  • IsNull (org. hamcrest. inti)

    Apakah nilainya nol?

  • Alternatif Github Copilot

MongoDB adalah Database NoSQL Open-Source terkenal yang ditulis dalam C++. MongoDB adalah Database Berorientasi Dokumen yang menggunakan dokumen mirip JSON dengan Skema Dinamis untuk menyimpan data. Ini berarti bahwa Anda dapat menyimpan catatan Anda tanpa harus mengkhawatirkan Struktur Data, jumlah bidang, atau jenis bidang yang digunakan untuk menyimpan nilai. Dokumen di MongoDB mirip dengan objek JSON

Anda dapat mengubah struktur catatan (yang disebut MongoDB sebagai Dokumen) hanya dengan menambahkan bidang baru atau menghapus yang sudah ada. Fitur MongoDB ini memungkinkan Anda untuk dengan mudah merepresentasikan Hubungan Hierarkis, Menyimpan Array, dan Struktur Data kompleks lainnya

Saat ini, banyak raksasa teknologi, termasuk Facebook, eBay, Adobe, dan Google, menggunakan MongoDB untuk menyimpan data dalam jumlah besar.

Fitur Utama MongoDB

Objek push grup agregat mongodb
Sumber Gambar

MongoDB menawarkan berbagai fitur unik yang menjadikannya solusi yang lebih baik dibandingkan dengan database konvensional lainnya. Beberapa fitur ini dibahas di bawah ini

  • Skema Kurang Basis Data. Database Tanpa Skema memungkinkan berbagai jenis Dokumen disimpan dalam satu Koleksi (setara dengan tabel). Dengan kata lain, dalam database MongoDB, satu koleksi dapat menampung banyak Dokumen, yang masing-masing dapat memiliki jumlah Bidang, Konten, dan Ukuran yang berbeda.

    Tidak perlu satu dokumen mirip dengan yang lain yang merupakan prasyarat dalam Database Relasional. Karena fitur ini, MongoDB menawarkan fleksibilitas yang besar kepada pengguna
  • Dokumen berbasis indeks. Setiap bidang dalam Dokumen dalam database MongoDB diindeks dengan Indeks Primer dan Sekunder, yang membuatnya lebih mudah untuk mengambil informasi dari kumpulan data.  
  • Skalabilitas. Sharding di MongoDB memungkinkan Skalabilitas Horizontal. Sharding mengacu pada proses mendistribusikan data di beberapa Server

    Sejumlah besar data dipartisi menjadi potongan data menggunakan Kunci Shard, dan potongan data ini didistribusikan secara merata ke Pecahan yang berada di banyak Server Fisik
  • Replikasi. MongoDB menawarkan ketersediaan data yang tinggi dengan membuat banyak salinan data dan mengirimkan salinan ini ke server yang berbeda sehingga jika satu server gagal, data masih dapat diambil dari Server lain. Anda dapat mempelajari lebih lanjut tentang Replikasi MongoDB di sini

 Sederhanakan MongoDB ETL Menggunakan Pipa Data Tanpa Kode Hevo

Hevo Data adalah Pipa Data Tanpa Kode yang menawarkan solusi terkelola sepenuhnya untuk menyiapkan Integrasi Data untuk 100+ Sumber Data (termasuk 40+ sumber Gratis) dan memungkinkan Anda memuat data secara langsung dari sumber seperti MongoDB ke Gudang Data atau Tujuan . Ini akan mengotomatiskan aliran data Anda dalam hitungan menit tanpa menulis baris kode apa pun. Arsitekturnya yang toleran terhadap kesalahan memastikan bahwa data Anda aman dan konsisten. Hevo memberi Anda solusi yang benar-benar efisien dan sepenuhnya otomatis untuk mengelola data secara real-time dan selalu memiliki data yang siap dianalisis.  

Mulailah dengan Hevo Gratis

Mari kita lihat beberapa fitur penting dari Hevo

  • Dikelola Sepenuhnya. Tidak memerlukan manajemen dan pemeliharaan karena Hevo adalah platform yang sepenuhnya otomatis
  • Transformasi Data. Ini menyediakan antarmuka sederhana untuk menyempurnakan, memodifikasi, dan memperkaya data yang ingin Anda transfer.  
  • Waktu sebenarnya. Hevo menawarkan migrasi data waktu nyata. Jadi, data Anda selalu siap untuk dianalisis
  • Manajemen Skema. Hevo dapat secara otomatis mendeteksi skema data yang masuk dan memetakannya ke skema tujuan
  • Konektor. Hevo mendukung 100+ Integrasi ke platform SaaS FTP/SFTP, File, Database, alat BI, dan Native REST API & Konektor Webhooks. Ini mendukung berbagai tujuan termasuk Google BigQuery, Amazon Redshift, Snowflake, Firebolt, Gudang Data; .   
  • Aman. Hevo memiliki arsitektur yang toleran terhadap kesalahan yang memastikan bahwa data ditangani dengan cara yang aman dan konsisten tanpa kehilangan data
  • Hevo Dibangun Sesuai Skala. Saat jumlah sumber dan volume data Anda bertambah, Hevo menskalakan secara horizontal, menangani jutaan rekaman per menit dengan latensi yang sangat kecil
  • Pemantauan Langsung. Pemantauan lanjutan memberi Anda tampilan satu atap untuk melihat semua aktivitas yang terjadi dalam Data Pipelines
  • Dukungan Langsung. Tim Hevo tersedia sepanjang waktu untuk memberikan dukungan luar biasa kepada pelanggannya melalui obrolan, email, dan panggilan dukungan
Daftar di sini untuk Uji Coba Gratis 14 Hari

Bagaimana cara menggunakan Metode Agregasi MongoDB Groupby?

Objek push grup agregat mongodb
Sumber Gambar

A) Sintaks Umum Metode Agregasi Grup MongoDB

{ $group (Aggregation is used to define group by): { _id: <expression>, <field1>: { <accumulator1> : <expression1> }, <accumulator2> : <expression2>, <accumulator3> : <expression3> } }...<accumulatorN> : <expressionN> } } }

B) Parameter yang Terlibat dalam MongoDB Groupby Agregation

Parameter yang terlibat dalam deskripsi sintaks MongoDB Groupby Metode Agregasi adalah sebagai berikut

  • $grup. $group menampilkan dokumen untuk setiap pengelompokan berbeda dari dokumen input berdasarkan ekspresi _id yang ditentukan. Agregasi ini menghasilkan kolom _id, yang berisi grup berdasarkan kunci dari record yang berbeda. Dokumen keluaran juga dapat menyertakan bidang terhitung yang berisi nilai ekspresi akumulator
  • _Indo. Ini adalah bidang wajib MongoDB Groupby saat menggunakan agregasi dengan operator $group. Untuk menghitung akumulasi nilai dari semua nilai input, Anda dapat menentukan nilai id dengan nilai null
  • Aki. Akumulator adalah operator di MongoDB Groupby yang mempertahankan statusnya (mis. g. , total, maksimum, minimum, dan data terkait) sementara dokumen berpindah melalui alur. Beberapa operator Akumulator tercantum di bawah ini
    • $addToSet. Untuk setiap grup, operator ini mengembalikan larik nilai ekspresi unik
    • $rata-rata. Menggunakan operator $group, operator $avg mengembalikan rata-rata semua bidang numerik. Nilai non-numerik dalam koleksi diabaikan oleh operator ini
    • $pertama. Operator ini mengembalikan nilai dari dokumen pertama dari setiap grup
    • $terakhir. Operator ini mengembalikan nilai dari dokumen terakhir dari setiap grup
    • $maks. Operator ini mengembalikan nilai maksimum dari setiap grup
    • $min. Operator ini mengembalikan nilai minimum dari setiap grup
    • $mergeObjects. Operator ini mengembalikan dokumen yang dibuat dengan menggabungkan dokumen input untuk setiap grup
    • $ dorong. Operator ini mengembalikan larik nilai ekspresi untuk setiap grup dokumen
    • $ jumlah. Operator ini mengembalikan jumlah semua bidang numerik

C) Contoh Konseptual. Menggunakan MongoDB Groupby Agregasi

Untuk memahami cara kerja metode MongoDB Groupby Aggregation, buatlah contoh bernama sales dengan data berikut


db.sales.insertMany([
  { "_id" : 1, "item" : "abc", "price" : NumberDecimal("10"), "quantity" : NumberInt("2"), "date" : ISODate("2014-03-01T08:00:00Z") },
  { "_id" : 2, "item" : "jkl", "price" : NumberDecimal("20"), "quantity" : NumberInt("1"), "date" : ISODate("2014-03-01T09:00:00Z") },
  { "_id" : 3, "item" : "xyz", "price" : NumberDecimal("5"), "quantity" : NumberInt( "10"), "date" : ISODate("2014-03-15T09:00:00Z") },
  { "_id" : 4, "item" : "xyz", "price" : NumberDecimal("5"), "quantity" :  NumberInt("20") , "date" : ISODate("2014-04-04T11:21:39.736Z") },
  { "_id" : 5, "item" : "abc", "price" : NumberDecimal("10"), "quantity" : NumberInt("10") , "date" : ISODate("2014-04-04T21:23:13.331Z") },
  { "_id" : 6, "item" : "def", "price" : NumberDecimal("7.5"), "quantity": NumberInt("5" ) , "date" : ISODate("2015-06-04T05:08:13Z") },
  { "_id" : 7, "item" : "def", "price" : NumberDecimal("7.5"), "quantity": NumberInt("10") , "date" : ISODate("2015-09-10T08:43:00Z") },
  { "_id" : 8, "item" : "abc", "price" : NumberDecimal("10"), "quantity" : NumberInt("5" ) , "date" : ISODate("2016-02-06T20:20:13Z") },
])
_

Sekarang, misalkan Anda ingin menerapkan fungsi MongoDB Groupby untuk menghitung Total Sales Amount, Average Sales Quantity, dan Sale Count untuk setiap hari di tahun 2014. Sepotong kode berikut akan membantu Anda dalam mengekstraksi informasi yang diperlukan

db.sales.aggregate([
  // First Stage
  {
    $match : { "date": { $gte: new ISODate("2014-01-01"), $lt: new ISODate("2015-01-01") } }
  },
  // Second Stage
  {
    $group : {
       _id : { $dateToString: { format: "%Y-%m-%d", date: "$date" } },
       totalSaleAmount: { $sum: { $multiply: [ "$price", "$quantity" ] } },
       averageQuantity: { $avg: "$quantity" },
       count: { $sum: 1 }
    }
  },
  // Third Stage
  {
    $sort : { totalSaleAmount: -1 }
  }
 ])

Di mana

  • Filter $match memfilter dokumen sehingga hanya dokumen dari tahun 2014 yang diteruskan ke tahap berikutnya
  • Tahap $group mengatur dokumen berdasarkan Tanggal dan menghitung Jumlah Penjualan Total, Kuantitas Rata-Rata, dan Jumlah Total untuk setiap grup
  • Tahap $sort mengatur hasil dalam urutan menurun berdasarkan Jumlah Penjualan Total untuk setiap grup

Keluaran

{ "_id" : "2014-04-04", "totalSaleAmount" : NumberDecimal("200"), "averageQuantity" : 15, "count" : 2 }
{ "_id" : "2014-03-15", "totalSaleAmount" : NumberDecimal("50"), "averageQuantity" : 10, "count" : 1 }
{ "_id" : "2014-03-01", "totalSaleAmount" : NumberDecimal("40"), "averageQuantity" : 1.5, "count" : 2 }

Kesimpulan

Artikel ini memperkenalkan Anda ke MongoDB bersama dengan fitur menonjol yang ditawarkannya. Selain itu, ini memperkenalkan Anda ke metode MongoDB Groupby Aggregation beserta sintaks dan contoh kuerinya. Saat bisnis Anda mulai berkembang, data dihasilkan dengan kecepatan eksponensial di semua aplikasi SaaS, Database, dan sumber lain perusahaan Anda

Untuk memenuhi kebutuhan penyimpanan dan komputasi data yang terus meningkat ini, Anda harus menginvestasikan sebagian bandwidth teknis Anda untuk Mengintegrasikan data dari semua sumber, Membersihkan & Mentransformasikannya, dan terakhir memuatnya ke Cloud Data Warehouse untuk Analisis Bisnis lebih lanjut. Semua tantangan ini dapat ditangani secara efisien oleh alat ETL Berbasis Cloud seperti Hevo Data

Kunjungi Situs Web kami untuk Menjelajahi Hevo

Hevo Data, No-code Data Pipeline memberi Anda solusi yang konsisten dan andal untuk mengelola transfer data antara berbagai sumber seperti MongoDB dan berbagai Tujuan yang Diinginkan, dengan beberapa klik. Hevo Data dengan integrasi kuat dengan 100+ sumber (termasuk 40+ sumber gratis) memungkinkan Anda untuk tidak hanya mengekspor data dari sumber data yang Anda inginkan & memuatnya ke tujuan pilihan Anda, tetapi juga mengubah & memperkaya data Anda untuk menjadikannya analisis

Ingin mencoba Hevo? . Anda juga dapat melihat harga yang tidak ada duanya yang akan membantu Anda memilih paket yang tepat untuk kebutuhan bisnis Anda

Bagikan pengalaman Anda tentang MongoDB Group By Aggregation Method kepada kami di kolom komentar di bawah

Bagaimana cara mendorong objek ke dalam array di MongoDB?

Dalam MongoDB, operator $push digunakan untuk menambahkan nilai tertentu ke array. Jika bidang yang disebutkan tidak ada dalam dokumen yang akan diperbarui, operator $push menambahkannya sebagai bidang baru dan menyertakan nilai yang disebutkan sebagai elemennya. Jika bidang pemutakhiran bukan bidang jenis larik, operasi gagal.

Apa itu agregasi grup di MongoDB?

Operasi agregasi di MongoDB memproses catatan/dokumen data dan mengembalikan hasil yang dihitung. Agregasi mengumpulkan nilai dari berbagai dokumen, mengelompokkannya, lalu melakukan berbagai operasi seperti Jumlah, Rata-Rata, Minimum, Maksimum, dll, pada data yang dikelompokkan tersebut untuk mengembalikan hasil yang dihitung.

Apa itu $$ root di MongoDB?

Variabel $$ROOT berisi dokumen sumber untuk grup . Jika Anda hanya ingin meneruskannya tanpa dimodifikasi, Anda dapat melakukan ini dengan $mendorong $$ROOT ke dalam output dari grup.

Bagaimana cara mengelompokkan array objek dengan kunci di MongoDB?

Kelompokkan dan dorong objek dalam larik jika mereka memiliki kunci yang sama dalam dokumen mongodb .
$unwind mendekonstruksi array appInfos
$group berdasarkan resource dan app_key dan buat array metadata
lagi $group hanya dengan sumber daya dan membangun kembali array appInfos yang telah kita dekonstruksi pada tahap pertama