MongoDB $Maks Operator

Mongodb Maks Operator



MongoDB datang dengan banyak operator untuk melakukan transaksi dengan tujuan khusus seperti memperbarui record, menambahkan record baru, dan menampilkan record dalam kondisi tertentu. Salah satu operator tersebut adalah operator “$max” yang digunakan untuk memeriksa nilai terbesar dalam catatan. Selain itu, kita dapat menggunakannya untuk mengupdate nilai terkecil dengan nilai terbesar baru setelah membandingkannya dalam instruksi fungsi “update”. Kegunaan lain dari operator “$max” adalah untuk mengelompokkan dan menampilkan catatan dari koleksi tertentu sedemikian rupa sehingga hanya dapat menampilkan nilai terbesar sementara mengabaikan nilai terkecil ketika ada beberapa catatan duplikat dalam database. Dalam panduan ini, kami akan menggunakan contoh kueri sederhana untuk membahas penggunaan operator '$max' yang disebutkan sebelumnya dalam utilitas baris perintah MongoDB di platform Windows kami.

Contoh 1:

Dimulai dengan ilustrasi untuk membahas dan bagaimana operator '$max' bekerja di shell MongoDB, kita perlu memiliki koleksi bernama 'data' yang harus sudah dibuat. Untuk membuat koleksi ini, kita harus menambahkan beberapa record ke dalamnya secara langsung tanpa menggunakan instruksi “create” apapun. Instruksi penyisipan cukup untuk membuat koleksi dan menambahkan record di dalamnya. Kami menggunakan fungsi 'insertMany' dalam kueri untuk menambahkan empat catatan, masing-masing memiliki 4 bidang dengan jenis yang berbeda.

tes > db.data.insertMany ( [ { 'Indo' : satu , 'Nama' : 'Bravo' , 'Gaji' : 65000 , 'Usia' : 44 } ,
... { 'Indo' : 2 , 'Nama' : 'Stefanus' , 'Gaji' : 77000 , 'Usia' : 55 } ,
... { 'Indo' : 3 , 'Nama' : 'Maria' , 'Gaji' : 42000 , 'Usia' : 27 } ,
... { 'Indo' : 4 , 'Nama' : 'Hawkin' , 'Gaji' : 58000 , 'Usia' : 33 } ] )







Perintah penyisipan berhasil dan pesan keluaran menunjukkan bahwa catatan telah ditambahkan.



Setelah memasukkan catatan dalam kumpulan 'data' MongoDB kami, saatnya untuk melihat catatan tersebut di shell. Jadi, kita menjalankan instruksi fungsi “find()” pada MongoDB Cli diikuti dengan fungsi “forEach()”, mengambil argumen printjson untuk menampilkan hasil dalam format JSON. Hasil yang ditampilkan di shell menunjukkan total 4 dokumen dalam koleksi yang ditunjukkan pada gambar keluaran berikut:



tes > db.data.find ( ) .untuk setiap ( printjson )





Mari coba operator “$max” di perintah update MongoDB untuk memodifikasi record yang sudah dimasukkan. Jadi, updateOne() digunakan di sini hanya untuk memodifikasi satu record dari kumpulan 'data' seperti record tertentu di mana kolom 'id' memiliki nilai '2'. Operator '$max' diterapkan ke bidang 'Gaji' dari kumpulan 'data' untuk memeriksa apakah bidang 'Gaji' memiliki nilai yang lebih besar dari 55000. Jika tidak, perbarui catatan dengan 55000. Hasil keluaran untuk ini updateOne() kueri fungsi yang menampilkan hitungan modifikasi '0' sebagai catatan '2' memiliki nilai gaji kurang dari 55.000.

tes > db.data.updateOne ( { Indo: 2 } , { $maks : { Gaji: 55000 } } )



Setelah pembaruan ini, kami mencoba kueri fungsi “find()” yang sama untuk menampilkan hasil modifikasi pada shell baris perintah MongoDB. Tapi kami mendapatkan hasil yang sama dengan yang kami dapatkan sebelum menggunakan instruksi 'perbarui'. Tidak ada perubahan karena nilai 77000 lebih besar dari 55000.

tes > db.data.find ( ) .untuk setiap ( printjson )

Mari kita coba kueri updateOne() yang sama sekali lagi dengan sedikit modifikasi. Kali ini, kami mencoba nilai yang lebih besar yaitu '85000' daripada nilai '77000' yang sudah ada di kolom 'Gaji' dari kumpulan 'data' untuk membuat perbedaan dalam output kami. Keluaran menunjukkan jumlah modifikasi '1' kali ini karena nilai '85000' menggantikan nilai '77000' yang sudah ada di bidang setelah perbandingan terjadi hanya karena operator '$max' dalam kueri ini.

tes > db.data.updateOne ( { Indo: 2 } , { $maks : { Gaji: 85000 } } )

Setelah berhasil mengganti nilai “77000” yang lebih kecil dengan nilai baru “85000” melalui operator “$max” dari MongoDB, kami akhirnya menggunakan fungsi “find()” dalam instruksi “db” untuk memeriksa pembaruan ini, apakah berhasil diupdate atau tidak. Keluarannya menunjukkan bahwa nilai di bidang 'Gaji' dari catatan ke-2 dalam koleksi ini diperbarui dengan sempurna.

tes > db.data.find ( ) .untuk setiap ( printjson )

Contoh 2:

Mari beralih ke contoh lain untuk menggunakan operator “$max” di MongoDB. Kali ini, kita membuang operator “$max” untuk mengelompokkan dan menampilkan record unik dari sebuah koleksi jika ada duplikat untuk nilai field yang sama. Untuk ini, kami memasukkan 2 catatan lagi ke dalam kumpulan 'data' dari database 'uji'. Catatan ini berisi 2 nilai yang sama di bidang 'Nama' yang juga ada di 4 catatan yang sudah dimasukkan dan sisanya berbeda. Untuk menyisipkan catatan, kami menggunakan instruksi 'db' yang sama yang berisi fungsi 'insertMany' di dalamnya agar koleksi 'data' diperbarui.

tes > db.data.insertMany ( [ { 'Indo' : 5 , 'Nama' : 'Bravo' , 'Gaji' : 35000 , 'Usia' : Empat.Lima } ,
{ 'Indo' : 6 , 'Nama' : 'Hawkin' , 'Gaji' : 67000 , 'Usia' : 33 } ] )

Instruksi berhasil dijalankan.

Sekarang setelah 2 record baru ditambahkan, Anda juga dapat menampilkannya menggunakan fungsi “find” yang sama dalam instruksi “db” diikuti dengan fungsi “forEach”. Keluaran tampilan berikut dalam gambar menunjukkan 2 catatan baru di akhir koleksi ini:

tes > db.data.find ( ) .untuk setiap ( printjson )

Setelah menampilkan 6 catatan kumpulan 'data', kami siap untuk melakukan fungsi agregat di atasnya. Karenanya, fungsi 'agregat' digunakan dalam kueri yang tercantum berikut. Dengan fungsi ini, kami menggunakan operator '$group' untuk mengelompokkan catatan koleksi 'data' sesuai dengan nama unik bidang 'id' dan bidang 'Gaji'. Operator '$max' diterapkan ke bidang 'Gaji' dari catatan untuk mendapatkan nilai maksimum yang akan ditampilkan. Dapatkan nilai terbesar dari kolom Gaji sesuai dengan nama duplikat di kolom Nama yang digunakan sebagai id untuk pengelompokan ini ditampilkan. Sebanyak 4 catatan ditampilkan. Nilai terkecil (dari rekaman duplikat) diabaikan sementara nilai terbesar ditampilkan.

db.data.aggregate ( [ { $grup : { _Indo: ' $Nama ' , Gaji: { $maks : ' $Gaji ' } } } ] )

Kesimpulan

Paragraf pertama panduan ini membantu Anda memahami pentingnya operator yang digunakan di MongoDB, terutama operator “$max” dan penggunaannya di shell MongoDB. Panduan ini berisi dua contoh berbasis perintah yang terkait dengan operator “$max” untuk menunjukkan tujuannya. Melalui ilustrasi MongoDB, Anda akan dapat melakukan beberapa transaksi berguna dalam database, apakah itu tentang mengganti catatan yang sudah ada dengan nilai baru atau menampilkan catatan dengan mengelompokkannya melalui operator '$max'.