Operator ng MongoDB $Min

Operator Ng Mongodb Min



Kung hindi ka bagong gumagamit ng mga database o programming, dapat na sinubukan mo na ang mga program at query na gumagamit ng mga operator ng paghahambing – mas malaki kaysa, mas mababa sa, katumbas ng, atbp. Sa MongoDB, kung saan ginagamit namin ang operator na '$set' upang mag-update ng partikular na field record o magdagdag ng bagong record sa database, makakamit din namin ang parehong resulta gamit ang mga operator ng paghahambing tulad ng '$min' at '$max'. Sa MongoDB, ang operator na '$min' ay maaaring gamitin sa loob ng maraming mga query sa pag-andar upang i-update ang isang partikular na field kapag ang isang bagong halaga ay mas mababa kaysa sa naipasok na halaga. Gayundin, maaari itong magamit upang pangkatin at ipakita ang mga talaan ng isang koleksyon sa isang partikular na pagkakasunud-sunod. Tinutulungan ka ng gabay na ito sa iba't ibang paraan upang iwaksi ang '$min' na operator sa MongoDB.

Halimbawa 1:

Simula sa unang ilustrasyon, ipinapakita namin ang paggamit ng operator na '$min' sa MongoDB upang i-update ang isang naipasok na record gamit ang MongoDB shell tool sa Windows system. Samakatuwid, dapat ay mayroon kang ilang mga tala na naidagdag na sa iyong database. Kaya, ginagamit namin ang insertMany() function query para magdagdag ng kabuuang 5 record sa koleksyon ng 'order' ng database ng 'test'. Ang bawat isa sa mga ipinasok na tala na ipinapakita sa sumusunod na paglalarawan ay naglalaman ng kabuuang 4 na field – id, pamagat, saleprice, at buwis. Ang 5-record na data na ito ay matagumpay na naipasok ayon sa nakalakip na output:

pagsusulit > db.order.insertMany ( [ { 'id' :01, 'Pamagat' : 'Sabon' , 'SalePrice' : 500 , 'Buwis' : 24 } ,
... { 'id' :02, 'Pamagat' : 'shampoo' , 'SalePrice' : 700 , 'Buwis' : 27 } ,
... { 'id' :03, 'Pamagat' : 'Detergent' , 'SalePrice' : 400 , 'Buwis' : 22 } ,
... { 'id' :04, 'Pamagat' : 'Pabango' , 'SalePrice' : 900 , 'Buwis' : 30 } ,
... { 'id' :05, 'Pamagat' : 'Ambon' , 'SalePrice' : 850 , 'Buwis' : 27 } ] )







Panahon na upang tingnan ang ipinasok na tala sa isang 'pagsubok' na database. Para diyan, kailangan mong itapon ang 'find()' na paraan kasama ang 'forEach' na paraan, na ginagawa ang 'printjson' bilang argumento sa 'db' na pagtuturo. Gamit ang koleksyon na pinangalanang 'order', mayroon kaming isang talaan na ipinapakita sa screen.



pagsusulit > db.order.hanapin ( ) .forEach ( printjson )



Oras na para gamitin ang operator na '$min' sa query ng function na 'updateOne' para i-update ang isang tala mula sa koleksyon ng 'order' na kakagawa lang. Ang field na 'id' ay ginagamit bilang isang natatanging identifier upang i-update ang isang partikular na record mula sa isang database habang ang operator na '$min' ay inilapat sa isang field na 'SalePrice' upang i-update ang halaga nito sa 600 kung ito ay mas mababa kaysa sa naipasok na halaga. Ang output na mensahe ay nagpapakita na ang query ay matagumpay ngunit walang mga update na ginawa.





pagsusulit > db.order.updateOne ( { id: 3 } , { $min : { SalePrice: 600 } } )

Ang dahilan kung bakit walang ginawang pag-update sa field na “SalePrice” ng ika-3 tala ay dahil naglalaman ito ng halaga na “400” na mas mababa sa “600″. Samakatuwid, hindi ina-update ng operator na '$min' ang minimum na halaga ng '400' na may mas malaking halaga na '600' ayon sa sumusunod na nakalakip na find() na query:



pagsusulit > db.order.hanapin ( ) .forEach ( printjson )

Gumawa tayo ng kaunting pagbabago sa query sa pag-update para makakuha ng ibang output sa pagkakataong ito. Ginagamit namin ang parehong 'db' na pagtuturo na gumagamit ng function na 'updateOne' dito upang baguhin ang isang solong tala ng '3'. Ang operator na '$min' ay inilapat sa field na 'SalePrice' upang itakda ang halaga nito sa '300' kung ang halaga ng '300' ay mas mababa kaysa sa naipasok na halaga. Alam naming mas malaki ang naipasok na halaga ng '400' ng field ng SalePrice kaysa sa bagong halaga na '300' na ihahambing. Kaya, pinapalitan nito ang '400' ng '300' sa pagkakataong ito. Ang output na mensahe ay nagpapakita ng matagumpay na pagpapatupad ng query na ito. Ang binagong bilang = 1 ay nangangahulugan na ang 1 tala ay binago.

pagsusulit > db.order.updateOne ( { id: 3 } , { $min : { SalePrice: 300 } } )

Pagkatapos ipakita ang mga talaan ng isang koleksyon ng 'order' mula sa database ng 'pagsubok' sa isang JSON na format sa pamamagitan ng pagtuturo ng function na 'find()' sa shell ng MongoDB, nalaman namin na matagumpay na na-update ang ika-3 talaan. Ang halaga ng 400 ng field na “SalePrice” ay pinapalitan ng halagang 300.

pagsusulit > db.order.hanapin ( ) .forEach ( printjson )

Halimbawa 2:

Sa loob ng paglalarawang ito ng MongoDB, kinukuha namin ang mga talaan ng isang partikular na database sa pamamagitan ng pagpapangkat sa mga ito tungkol sa operator na '$min' ayon sa pinakamababang halaga sa mga talaan. Ipagpalagay na mayroon kang parehong 5 mga tala sa koleksyon ng 'order' ng database ng 'pagsubok' ng MongoDB at kailangan mong magkaroon ng ilang duplicate na data sa mga partikular na larangan ng isang database ng 'pagsubok'. Para dito, nagdagdag kami ng higit pang mga tala sa koleksyon ng 'order' ng database ng 'pagsubok'. Sa pagkakataong ito, ipinapasok namin ang mga duplicate na halaga para sa field na 'Pamagat'. Ginagamit ito sa isang sugnay na '$group' upang bumuo ng isang pangkat ng mga natatanging halaga. Ang sumusunod na output ay nagpapakita ng bagong ipinasok na 3 higit pang mga tala para sa 'pagsubok' na database. Ngayon, ang koleksyon ng 'order' ay may mga duplicate na halaga para sa field na 'Pamagat' kumpara sa 5 lumang record. Ang iba ay gumagamit ng pareho.

Pagkatapos magkaroon ng kabuuang 8 record sa koleksyon ng 'order' ng database ng 'pagsubok', oras na para subukan ang $min operator ng MongoDB pagkatapos ng aplikasyon nito sa isang partikular na field na pinagsama-sama ng isa pang field. Ang kalakip na aggregate command ay tungkol dito. Nagsisimula ito sa keyword na 'db' na sinusundan ng pangalan ng isang koleksyon sa isang partikular na database at ang aggregate() function. Nagsisimula ang pinagsama-samang function sa paggamit ng $group clause ng MongoDB na partikular na ginagamit dito upang ipakita ang data sa isang grupo tungkol sa field na 'Title' ng database ng 'test' kung saan ang field na 'Title' ay kinuha bilang isang natatanging key. .

Kasabay nito, hiwalay na sinisimulan ang field ng presyo na kumukuha lamang ng minimum na tala ng halaga mula sa kabuuang 8 parehong mga tala sa pamamagitan ng operator na '$min' na inilapat dito. Ang output ng execution ng query na ito ay nagpapakita ng pagpapakita ng 5 record na may kaunting update sa seksyon ng presyo. Maaari mong makita na walang mga paulit-ulit na tala na ipinapakita. Ang ilang natatangi at pinakamaliit na mga tala ng halaga ay ipinapakita dito.

pagsusulit > db.order.aggregate ( [ { $grupo : { _id: ' $Title ' , presyo: { $min : ' $SalePrice ' } } } ] )

Konklusyon

Ang gabay na ito ay isang koleksyon ng mga ilustrasyon ng MongoDB upang ipakita ang isang simpleng paraan na posible upang magamit ang operator na '$min'. Ang introduction paragraph ay ginagamit upang talakayin ang layunin ng paggamit nito sa MongoDB. Tinatalakay ng unang bahagi ng artikulong ito kung paano gumagana ang operator na '$min' at hindi gumagana para sa isang tala sa isang database, ibig sabihin, upang i-update o ipasok ang isang tala bilang pinakamababang halaga. Gayundin, ang mga huling halimbawa ay nagpapakita ng paggamit nito upang igrupo ang talaan ng koleksyon bilang natatangi sa buong database.