Funkcije Count() & Remove() u MongoDB s Primjerom
โก Pametni saลพetak
Funkcije Count() i Remove() u MongoDB prijaviti koliko dokumenata kolekcija sadrลพi i izbrisati dokumente iz nje. Metoda count() vraฤa ukupan broj dokumenata, dok metoda remove() briลกe sve dokumente ili samo one koji odgovaraju odreฤenom uvjetu.

MongoDB Funkcija Count().
Koncept agregacije je izvoฤenje raฤunanja rezultata koji se vraฤaju u upitu. Na primjer, pretpostavimo da ลพelite znati koliki je broj dokumenata u zbirci prema pokrenutom upitu, a zatim MongoDB pruลพa funkciju count().
Primjer MongoDB Funkcija Count().
Pogledajmo primjer ovoga.
db.Employee.count()
Code Objaลกnjenje:
- Gornji kod izvrลกava funkciju brojanja.
Ako je naredba uspjeลกno izvrลกena, prikazat ฤe se sljedeฤi izlaz
Izlaz:
Izlaz jasno pokazuje da se u zbirci nalaze 4 dokumenta.
MongoDB Brojanje s uvjetom upita
Metoda count() je najkorisnija kada prosljeฤujete uvjet upita, pa broji samo dokumente koji se podudaraju umjesto cijele kolekcije. To je korisno za izvjeลกฤa, poput broja zaposlenika koji pripadaju odjelu ili broja narudลพbi koje su joลก uvijek otvorene.
Sljedeฤi primjer broji zaposlenike ฤiji je Employeeid veฤi od 2:
db.Employee.count({Employeeid:{$gt:2}})
Evo ลกto se dogaฤa:
- Objekt upita {Employeeid:{$gt:2}} djeluje kao filter, koristeฤi operator $gt (veฤe od).
- count() vraฤa samo broj dokumenata koji zadovoljavaju filter.
- Ostatak kolekcije se zanemaruje u ukupnom zbroju.
U tekuฤem MongoDB verzije, countDocuments() je preporuฤena metoda za uvjetno brojanje, jer uvijek vraฤa toฤan rezultat. Isti upit radi s njom:
db.Employee.countDocuments({Employeeid:{$gt:2}})
Obje naredbe vraฤaju jedan broj koji moลพete pohraniti u varijablu ili izravno prikazati. Dodavanje odgovarajuฤeg indeksa upitnom polju odrลพava uvjetno brojanje brzim na velikim kolekcijama.
Izvoฤenje izmjena
Druge dvije klase operacija u MongoDB su izjave za aลพuriranje i uklanjanje.
Operacije aลพuriranja omoguฤuju izmjenu postojeฤih podataka, a operacije uklanjanja omoguฤuju brisanje podataka iz zbirke.
Funkcija Remove() u MongoDB
In MongoDB je db.zbirka.ukloni() metoda se koristi za uklanjanje dokumenata iz zbirke. Iz zbirke se mogu ukloniti svi dokumenti ili samo oni koji odgovaraju odreฤenom uvjetu.
Ako izdate samo naredbu za uklanjanje, svi ฤe dokumenti biti uklonjeni iz zbirke.
Primjer MongoDB Funkcija Remove().
Sljedeฤi primjer koda pokazuje kako ukloniti odreฤeni dokument iz zbirke.
db.Employee.remove({Employeeid:22})
Code Objaลกnjenje:
- Gornji kod koristi funkciju uklanjanja i navodi kriterij koji je u ovom sluฤaju uklanjanje dokumenata koji imaju ID zaposlenika 22.
Ako je naredba uspjeลกno izvrลกena, prikazat ฤe se sljedeฤi izlaz
Izlaz:
Izlaz ฤe pokazati da je 1 dokument uklonjen.
Uklonite sve dokumente u odnosu na jedan dokument
Metoda remove() moลพe izbrisati svaki odgovarajuฤi dokument ili samo jedan, ovisno o argumentima koje prosljeฤujete. Razumijevanje razlike sprjeฤava sluฤajan gubitak podataka.
Za uklanjanje svakog dokumenta u kolekciji, proslijedite prazan uvjet:
db.Employee.remove({})
Ovo briลกe sve dokumente, ali zadrลพava samu kolekciju. Da biste uklonili samo dokumente koji odgovaraju uvjetu, proslijedite objekt upita, kao ลกto je ranije prikazano s {Employeeid:22}. Ako se podudara nekoliko dokumenata i ลพelite izbrisati samo prvi, dodajte opciju justOne:
db.Employee.remove({EmployeeName:"Smith"}, {justOne:true})
Kljuฤne razlike su:
- remove({}) briลกe sve dokumente u kolekciji.
- remove({condition}) briลกe svaki dokument koji odgovara uvjetu.
- remove({condition}, {justOne:true}) briลกe samo prvi odgovarajuฤi dokument.
Uvijek dvaput provjerite uvjet prije pokretanja naredbe za uklanjanje, jer prazan ili pogreลกan filter moลพe izbrisati cijelu kolekciju. U modernom MongoDB, deleteOne() i deleteMany() zamjenjuju ove obrasce i ฤine namjeru jasnijom.
Moderne alternative za count() i remove()
I count() i remove() su naslijeฤene metode. Novije MongoDB Vozaฤi ih oznaฤavaju kao zastarjele i nude jasnije zamjene. Tablica u nastavku prikazuje svaku staru metodu u odnosu na njezin moderni ekvivalent:
| Naslijeฤena metoda | Moderna zamjena | Svrha |
|---|---|---|
| raฤunati() | brojDokumenta() | Vraฤa toฤan broj odgovarajuฤih dokumenata |
| raฤunati() | procijenjeni brojDokumenata() | Vraฤa brz, pribliลพan broj svih dokumenata |
| ukloniti() | deleteOne() | Briลกe prvi dokument koji odgovara filteru |
| ukloniti() | deleteMny() | Briลกe svaki dokument koji odgovara filteru |
Za nove aplikacije, preferirajte ove moderne metode. One odvajaju brojanje od procjene i brisanje jednog dokumenta od brisanja viลกe njih, ลกto upite ฤini sigurnijima i lakลกima za ฤitanje. Naslijeฤene funkcije count() i remove() i dalje rade za starije tutorijale i skripte.


