Sortiranje je vrlo potrebna operacija baze podataka. Pomaže u pojednostavljenju čitljivosti, a također i na izvrstan način pruženih informacija. Kroz ovaj ćete post proučiti koncept sortiranja i način na koji se implementira unutar MongoDB baze podataka. Dakle, da vidimo kako napraviti sortiranje u MongoDB-u.
Sortiranje je način sređivanja u rastućem ili padajućem redoslijedu mjerne količine. Koristi se na entitetima kao što su informacije (koje uključuju imena i činjenice), brojevi također kao zapisi. Time se povećava sposobnost čitanja i dosljednost prikazanih podataka.
Tehnike sortiranja u MongoDB-u
Za sortiranje vašeg MongoDB dokumenata, želite oblikovati korištenje metode sort(). Ova metoda će prihvatiti dokument koji sadrži popis polja i stoga redoslijed sortiranja. Također, za označavanje redoslijeda sortiranja, morate ucrtati vrijednost 1 ili -1 s preciznim entitetom. 1 koristi se za rastući (uzlazni) poredak i -1 koristi se za opadajući (silazni) poredak.
Metoda sort().
Sintaksa:
db.collection_name.find().sort({FieldName1: sort order 1 or -1, FieldName2: sort order})
Razmotrite skup koji ima sljedeće podatke:
{ "_id" : ObjectId(5983548781331abf45ec5), "topic":"Cyber Security"} { "_id" : ObjectId(5565548781331aef45ec6), " topic ":"Digital Privacy"} { "_id" : ObjectId(5983549391331abf45ec7), " topic ":"Application Security Engineering"}
Za sortiranje uzlaznim redoslijedom koristimo:
db.techSubjects.find({}, {"topic":1, _id:0}).sort({"topic":1})
MongoDB projekcija se koristi za prikaz samo odabranih polja dokumenta.
Gornja izjava će rezultirati:
Važno je napomenuti da samo u slučaju da ne navodite ili eksplicitno definirate preferenciju sortiranja (1 ili -1). Tada će metoda sort() prema zadanim postavkama izložiti vaše dokumente uzlaznim redoslijedom.
Za prikaz polja predmeta svih tehničkih predmeta silaznim redoslijedom:
Također možete navesti sortiranje parametara putem zamjenskog naziva polja za izračunate metapodatke. Što ćete navesti pod $meta izrazom kao vrijednost.
Ovdje se može nalaziti ogledni dokument koji navodi sortiranje opadajućim pomoću metapodataka “textCount”:
{ count: { $meta: "textCount" } }
Ovdje će ovi navedeni metapodaci odrediti redoslijed tipa.
Sintaksa:
db.collection_name.find( , { value: { $meta: } } ) #Output : db.techWriter.find({}, { count: { $meta: "textCount" } } ).sort( { count: { $meta: "textCount" } } )
Razno Primjer
db.collecttion_name.find().sort({field_key:1 or -1})
Uzmimo za primjer zbirku podataka o zaposlenicima koja sadrži sljedeće dokumente:
db.employeedata.find().pretty() { "_id" : ObjectId("59bf63380be1d7770c3982af"), "employee_name" : "Shubham", "employee_id" : 001, "employeet_age" : 25 } { "_id" : ObjectId("59bf63500be1d7770c3982b0"), "employee_name" : "Raghu", "employee_id" : 002, "employeet_age" : 23 } { "_id" : ObjectId("59bf63650be1d7770c3982b1"), "employee_name" : "Ayush", "employee_id" : 003, "employeet_age" : 21 }
Recimo da bih želio prikazati student_id svih dokumenata u silaznom redoslijedu:
Za prikaz samo određenog polja dokumenta, koristim MongoDB Projection
db.employeedata.find({}, {"student_id": 1, _id:0}).sort({"student_id": -1}) { "employee_id" : 003 } { "employee_id" : 001 } { "employee_id" : 002 } # To display the student_id field of all the scholars in ascending order: db.employeedata.find({}, {"student_id": 1, _id:0}).sort({"student_id": 1}) { "employee_id" : 001 } { "employee_id" : 002 } { "employee_id" : 003 }
Zadani je uzlazni redoslijed, pa ako nije dana vrijednost, zapisi se sortiraju uzlaznim redoslijedom kako je prikazano:
db.studentdata.find({}, {"student_id": 1, _id:0}).sort({}) { "employee_id" : 001 } { "employee_id" : 002 } { "employee_id" : 003 }
Evo članka o stvaranju baze podataka u MongoDB-u
Korištenje metode limit().
Metoda sort() često se koristi uz metodu limit() koja stoga ograničava upit za pretraživanje. Moramo proslijediti graničnu vrijednost da bismo je postavili.
Primjer naveden u nastavku koristi zbirku “vozila” i rezultat je ograničen na 2 dokumenata. Rezultat je poredan i uzlaznim i silaznim redoslijedom.
db.vehicles.find({},{_id:0}).sort({"make":1,"year":1}).limit(2).pretty()
Za silazni redoslijed:
db.vehicles.find({},{_id:0}).sort({"make":-1,"year":-1}).limit(2).pretty()
Metoda skip().
Za vašu informaciju, metoda skip() može se koristiti zajedno s metodom sort() za izvođenje raznih funkcija sortiranja. Ova skip() metoda omogućuje jednoj osobi da preskoči bilo koji određeni broj dokumenata u rezultatu.
db.vehicleinformation.find({},{_id:0}).sort({"year":1}).skip(4).pretty()
ZAKLJUČAK
U ovom smo članku, kao što smo i obećali, smislili nešto, nadovezujući se na prošli članak. Onaj o stvaranju baze podataka u MongoDB-u. U ovom smo članku vidjeli kako napraviti sortiranje u MongoDB-u. Za to smo koristili različite metode kao što su metoda sort(), metoda limit() i metoda skip(). Sve smo to vidjeli na raznim primjerima i dubinskim analizama. Nadamo se da ste razriješili svoje sumnje na najprikladniji način. Ako imate bilo kakvih pitanja, možete ih ostaviti u odjeljku za komentare.