Operator MongoDB $Min

Operator Mongodb Min



Jika Anda bukan pengguna baru database atau pemrograman, Anda pasti sudah mencoba program dan kueri yang menggunakan operator pembanding – lebih besar dari, kurang dari, sama dengan, dll. Di MongoDB, di mana kami menggunakan operator “$set” untuk perbarui catatan bidang tertentu atau tambahkan catatan baru ke database, kami juga dapat mencapai hasil yang sama dengan menggunakan operator perbandingan seperti '$min' dan '$max'. Di MongoDB, operator '$min' dapat digunakan dalam banyak kueri fungsi untuk memperbarui bidang tertentu saat nilai baru kurang dari nilai yang sudah dimasukkan. Selain itu, dapat digunakan untuk mengelompokkan dan menampilkan catatan koleksi dalam urutan tertentu. Panduan ini membantu Anda dengan berbagai cara untuk membuang operator “$min” di MongoDB.

Contoh 1:

Dimulai dengan ilustrasi pertama, kami mendemonstrasikan penggunaan operator “$min” di MongoDB untuk memperbarui record yang sudah dimasukkan menggunakan alat shell MongoDB di sistem Windows. Oleh karena itu, Anda harus memiliki beberapa record yang sudah ditambahkan ke database Anda. Jadi, kami menggunakan kueri fungsi insertMany() untuk menambahkan total 5 record dalam koleksi 'order' dari database 'test'. Setiap catatan yang dimasukkan yang diperlihatkan dalam ilustrasi berikut berisi total 4 bidang – id, judul, harga jual, dan pajak. Data 5-rekaman ini berhasil dimasukkan sesuai output terlampir:

tes > db.order.insertMany ( [ { 'Indo' :01, 'Judul' : 'Sabun mandi' , 'Harga penjualan' : 500 , 'Pajak' : 24 } ,
... { 'Indo' :02, 'Judul' : 'Shampo' , 'Harga penjualan' : 700 , 'Pajak' : 27 } ,
... { 'Indo' :03, 'Judul' : 'Deterjen' , 'Harga penjualan' : 400 , 'Pajak' : 22 } ,
... { 'Indo' :04, 'Judul' : 'Parfum' , 'Harga penjualan' : 900 , 'Pajak' : 30 } ,
... { 'Indo' :05, 'Judul' : 'Kabut' , 'Harga penjualan' : 850 , 'Pajak' : 27 } ] )







Saatnya untuk melihat catatan yang disisipkan dalam database 'pengujian'. Untuk itu, Anda perlu membuang metode “find()” bersama dengan metode “forEach”, menggunakan “printjson” sebagai argumen dalam instruksi “db”. Menggunakan koleksi bernama 'pesanan', kami memiliki catatan yang ditampilkan di layar.



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



Saatnya menggunakan operator '$min' dalam kueri fungsi 'updateOne' untuk memperbarui satu rekaman dari koleksi 'pesanan' yang baru saja dibuat. Bidang 'id' digunakan sebagai pengidentifikasi unik untuk memperbarui catatan tertentu dari database sementara operator '$min' diterapkan ke bidang 'SalePrice' untuk memperbarui nilainya menjadi 600 jika kurang dari nilai yang sudah dimasukkan. Pesan keluaran menunjukkan bahwa kueri berhasil tetapi tidak ada pembaruan yang dilakukan.





tes > db.order.updateOne ( { Indo: 3 } , { $min : { Harga penjualan: 600 } } )

Alasan mengapa tidak ada pembaruan pada kolom “SalePrice” dari catatan ke-3 adalah karena berisi nilai “400” yang kurang dari “600″. Oleh karena itu, operator “$min” tidak memperbarui nilai minimum “400” dengan nilai “600” yang lebih besar sesuai dengan kueri find() terlampir berikut:



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

Mari buat sedikit perubahan pada kueri pembaruan untuk mendapatkan hasil yang berbeda kali ini. Kami menggunakan instruksi 'db' yang sama yang menggunakan fungsi 'updateOne' di dalamnya untuk memodifikasi satu record '3'. Operator “$min” diterapkan ke kolom “SalePrice” untuk menetapkan nilainya menjadi “300” jika nilai “300” kurang dari nilai yang sudah dimasukkan. Kita tahu bahwa nilai '400' yang sudah dimasukkan pada bidang HargaSale lebih besar dari nilai baru '300' yang akan dibandingkan. Jadi, ini menggantikan '400' dengan '300' kali ini. Pesan keluaran menunjukkan keberhasilan eksekusi kueri ini. Hitungan yang dimodifikasi = 1 berarti ada 1 record yang dimodifikasi.

tes > db.order.updateOne ( { Indo: 3 } , { $min : { Harga penjualan: 300 } } )

Setelah menampilkan catatan koleksi 'pesanan' dari database 'uji' dalam format JSON melalui instruksi fungsi 'find()' di shell MongoDB, kami menemukan bahwa catatan ke-3 berhasil diperbarui. Nilai 400 dari kolom “SalePrice” diganti dengan nilai 300.

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

Contoh 2:

Dalam ilustrasi MongoDB ini, kami mengambil catatan dari database tertentu dengan mengelompokkannya terkait operator '$min' sesuai dengan nilai minimum dalam catatan. Asumsikan bahwa Anda memiliki 5 catatan yang sama dalam kumpulan 'pesanan' dari database 'pengujian' MongoDB dan Anda perlu memiliki beberapa data duplikat di bidang tertentu dari database 'pengujian'. Untuk ini, kami menambahkan lebih banyak catatan dalam kumpulan 'pesanan' dari database 'uji'. Kali ini, kami memasukkan nilai duplikat untuk bidang 'Judul'. Ini digunakan dalam klausa '$group' untuk membentuk grup nilai unik. Keluaran berikut menampilkan 3 record baru yang dimasukkan untuk database “test”. Sekarang, koleksi 'pesanan' memiliki nilai duplikat untuk bidang 'Judul' dibandingkan dengan 5 rekaman lama. Sisanya menggunakan yang sama.

Setelah memiliki total 8 record dalam kumpulan “order” dari database “test”, saatnya untuk menguji operator $min dari MongoDB setelah penerapannya pada field tertentu yang dikelompokkan berdasarkan field lain. Perintah agregat terlampir adalah semua tentang ini. Dimulai dengan kata kunci “db” diikuti dengan nama koleksi dalam database tertentu dan fungsi agregat(). Fungsi agregat dimulai dengan penggunaan klausa $group dari MongoDB yang khusus digunakan di sini untuk menampilkan data dalam grup mengenai bidang 'Judul' dari basis data 'uji' di mana bidang 'Judul' diambil sebagai kunci unik .

Pada saat yang sama, bidang harga diinisialisasi secara terpisah yang hanya mengambil catatan nilai minimum dari total 8 catatan yang sama melalui operator “$min” yang diterapkan padanya. Keluaran dari eksekusi query ini menunjukkan tampilan 5 record dengan sedikit update di bagian harga. Anda dapat melihat bahwa tidak ada rekaman berulang yang ditampilkan. Beberapa catatan nilai unik dan terkecil ditampilkan di sini.

tes > db.pesanan.agregat ( [ { $grup : { _Indo: ' $Judul ' , harga: { $min : ' $HargaSale ' } } } ] )

Kesimpulan

Panduan ini adalah kumpulan ilustrasi MongoDB untuk menampilkan cara sederhana yang memungkinkan untuk menggunakan operator “$min”. Paragraf pengantar digunakan untuk membahas tujuan penggunaannya di MongoDB. Bagian pertama artikel ini membahas cara kerja operator “$min” dan tidak berfungsi untuk satu record dalam database, yaitu untuk memperbarui atau menyisipkan record sebagai nilai minimum. Juga, contoh terakhir menunjukkan penggunaannya untuk mengelompokkan catatan koleksi sebagai unik di seluruh database.