MongoDB $Min operators

Mongodb Min Operators



Ja neesat jauns datu bāzu vai programmēšanas lietotājs, jums ir jābūt izmēģinājušam programmas un vaicājumus, kas izmanto salīdzināšanas operatorus — lielāks par, mazāks par, vienāds ar utt. MongoDB, kur mēs izmantojam operatoru “$set”, lai atjaunināt konkrētu lauka ierakstu vai pievienot jaunu ierakstu datu bāzei, mēs varam arī sasniegt tādu pašu rezultātu, izmantojot salīdzināšanas operatorus, piemēram, “$min” un “$max”. MongoDB operatoru “$min” var izmantot daudzos funkciju vaicājumos, lai atjauninātu konkrētu lauku, ja jaunā vērtība ir mazāka par jau ievietoto vērtību. To var arī izmantot, lai grupētu un parādītu kolekcijas ierakstus noteiktā secībā. Šī rokasgrāmata palīdz jums atrast dažādus veidus, kā MongoDB noņemt operatoru “$min”.

1. piemērs:

Sākot ar pirmo ilustrāciju, mēs demonstrējam operatora “$min” izmantošanu MongoDB, lai atjauninātu jau ievietotu ierakstu, izmantojot MongoDB apvalka rīku Windows sistēmā. Tāpēc jums ir jābūt dažiem ierakstiem, kas jau ir pievienoti jūsu datu bāzei. Tātad, mēs izmantojam funkcijas insertMany() vaicājumu, lai pievienotu kopumā 5 ierakstus “pārbaudes” datu bāzes “pasūtīšanas” kolekcijā. Katrs no ievietotajiem ierakstiem, kas parādīts nākamajā ilustrācijā, satur kopā 4 laukus — id, nosaukums, pārdošanas cena un nodoklis. Šie 5 ierakstu dati ir veiksmīgi ievietoti saskaņā ar pievienoto izvadi:

pārbaude > db.order.insertMany ( [ { 'id' :01, 'Nosaukums' : 'Ziepes' , 'Pārdošanas cena' : 500 , 'Nodoklis' : 24 } ,
... { 'id' :02, 'Nosaukums' : 'šampūns' , 'Pārdošanas cena' : 700 , 'Nodoklis' : 27 } ,
... { 'id' :03, 'Nosaukums' : 'mazgāšanas līdzeklis' , 'Pārdošanas cena' : 400 , 'Nodoklis' : 22 } ,
... { 'id' :04, 'Nosaukums' : 'Smaržas' , 'Pārdošanas cena' : 900 , 'Nodoklis' : 30 } ,
... { 'id' :05, 'Nosaukums' : 'Migla' , 'Pārdošanas cena' : 850 , 'Nodoklis' : 27 } ] )







Ir pienācis laiks apskatīt ievietoto ierakstu 'pārbaudes' datu bāzē. Lai to izdarītu, jums ir jāatmet metode “find()” kopā ar metodi “forEach”, kā argumentu “db” instrukcijā izmantojot “printjson”. Izmantojot kolekciju ar nosaukumu “pasūtījums”, ekrānā tiek parādīts ieraksts.



pārbaude > db.order.find ( ) .katram ( printjson )



Ir pēdējais laiks funkcijas “updateOne” vaicājumā izmantot operatoru “$min”, lai atjauninātu vienu ierakstu no tikko izveidotās kolekcijas “order”. Lauks “id” tiek izmantots kā unikāls identifikators, lai atjauninātu konkrētu ierakstu no datu bāzes, savukārt operators “$min” tiek lietots laukam “SalePrice”, lai atjauninātu tā vērtību uz 600, ja tā ir mazāka par jau ievietoto vērtību. Izvades ziņojums parāda, ka vaicājums ir veiksmīgs, bet nav veikti atjauninājumi.





pārbaude > db.order.updateOne ( { id: 3 } , { $ min : { Pārdošanas cena: 600 } } )

Iemesls, kāpēc 3. ieraksta laukā “SalePrice” netiek atjaunināts, ir tas, ka tajā ir ietverta vērtība “400”, kas ir mazāka par “600”. Tāpēc operators “$min” neatjaunina minimālo vērtību “400” ar lielāku vērtību “600” saskaņā ar šādu pievienoto vaicājumu Find():



pārbaude > db.order.find ( ) .katram ( printjson )

Veiksim nelielas izmaiņas atjaunināšanas vaicājumā, lai šoreiz iegūtu citu izvadi. Mēs izmantojam to pašu “db” instrukciju, kurā tiek izmantota funkcija “updateOne”, lai modificētu vienu “3” ierakstu. Operators “$min” tiek lietots laukam “SalePrice”, lai iestatītu tā vērtību uz “300”, ja vērtība “300” ir mazāka par jau ievietoto vērtību. Mēs zinām, ka jau ievadītā vērtība “400” laukā SalePrice ir lielāka par jauno vērtību “300”, kas jāsalīdzina. Tātad šoreiz tas aizstāj “400” ar “300”. Izvades ziņojums parāda veiksmīgu šī vaicājuma izpildi. Modificētais skaits = 1 nozīmē, ka ir modificēts 1 ieraksts.

pārbaude > db.order.updateOne ( { id: 3 } , { $ min : { Pārdošanas cena: 300 } } )

Pēc “pasūtījuma” kolekcijas ierakstu parādīšanas no datu bāzes “test” JSON formātā, izmantojot funkcijas “find()” instrukciju MongoDB čaulā, mēs atklājām, ka 3. ieraksts ir veiksmīgi atjaunināts. Lauka “Pārdošanas cena” vērtība 400 tiek aizstāta ar vērtību 300.

pārbaude > db.order.find ( ) .katram ( printjson )

2. piemērs:

Šajā MongoDB ilustrācijā mēs iegūstam konkrētas datu bāzes ierakstus, grupējot tos atbilstoši operatoram “$min” atbilstoši ierakstu minimālajai vērtībai. Pieņemsim, ka jums ir tie paši 5 ieraksti MongoDB “pārbaudes” datu bāzes “pasūtījumu” kolekcijā un jums ir jābūt dažiem dublētiem datiem noteiktajos “testa” datu bāzes laukos. Šim nolūkam mēs pievienojam vairāk ierakstu datu bāzes “pārbaudes” kolekcijā “pasūtījums”. Šoreiz mēs ievietojam dublētās vērtības laukam “Nosaukums”. To izmanto klauzulā “$group”, lai izveidotu unikālu vērtību grupu. Nākamajā izvadē tiek parādīti tikko ievietotie vēl 3 ieraksti “testa” datubāzei. Tagad kolekcijai “pasūtījums” ir dublētas vērtības laukam “Nosaukums”, salīdzinot ar 5 vecajiem ierakstiem. Pārējais izmanto to pašu.

Pēc tam, kad “testa” datu bāzes “pasūtījumu” kolekcijā ir pavisam 8 ieraksti, ir pienācis laiks pārbaudīt MongoDB operatoru $min pēc tā pielietošanas noteiktā laukā, kas ir grupēts pēc cita lauka. Pievienotā apkopotā komanda ir par to visu. Tas sākas ar atslēgvārdu “db”, kam seko kolekcijas nosaukums noteiktā datubāzē un aggregate () funkcija. Apkopošanas funkcija sākas ar MongoDB klauzulas $group izmantošanu, kas šeit īpaši tiek izmantota, lai parādītu datus grupā, kas attiecas uz 'test' datu bāzes lauku 'Nosaukums', kur lauks 'Nosaukums' tiek ņemts par unikālu atslēgu. .

Tajā pašā laikā cenas lauks tiek inicializēts atsevišķi, kas ņem tikai minimālās vērtības ierakstu no 8 vienādiem ierakstiem, izmantojot operatoru “$min”, kas tam tiek lietots. Šī vaicājuma izpildes izvade parāda 5 ierakstu displeju ar nelielu atjauninājumu cenu sadaļā. Var redzēt, ka netiek parādīti atkārtoti ieraksti. Šeit tiek parādīti daži unikāli un mazākās vērtības ieraksti.

pārbaude > db.order.aggregate ( [ { $grupa : { _id: ' $Title ' , cena: { $ min : ' Pārdošanas cena $ ' } } } ] )

Secinājums

Šī rokasgrāmata ir MongoDB ilustrāciju kolekcija, lai parādītu vienkāršu veidu, kā izmantot operatoru “$min”. Ievada rindkopa tiek izmantota, lai apspriestu tās izmantošanas mērķi MongoDB. Šī raksta pirmajā daļā ir apskatīts, kā darbojas operators “$min” un nedarbojas vienam ierakstam datu bāzē, t.i., lai atjauninātu vai ievietotu ierakstu kā minimālo vērtību. Arī pēdējie piemēri parāda tā izmantošanu, lai grupētu kolekcijas ierakstu kā unikālu visā datu bāzē.