Count() & Remove() Funktsioonid sisse MongoDB koos Näitega
⚡ Nutikas kokkuvõte
Count() ja Remove() funktsioonid MongoDB Näitab, mitu dokumenti kogus on, ja kustutab sealt dokumente. Meetod count() tagastab dokumentide koguarvu, samas kui meetod remove() kustutab kõik dokumendid või ainult need, mis vastavad määratud tingimusele.

MongoDB Count() Funktsioon
Agregatsiooni kontseptsioon seisneb päringus tagastatud tulemuste arvutamises. Oletame näiteks, et soovite teada, milline on kogus olevate dokumentide arv käivitatud päringu järgi, siis MongoDB pakub funktsiooni count().
Näide MongoDB Count() Funktsioon
Vaatame selle kohta näidet.
db.Employee.count()
Code Selgitus:
- Ülaltoodud kood täidab loendusfunktsiooni.
Kui käsk on edukalt täidetud, kuvatakse järgmine väljund
Väljund:
Väljund näitab selgelt, et kogus on 4 dokumenti.
MongoDB Loendamine päringutingimusega
Meetod count() on kõige kasulikum päringutingimuse edastamisel, nii et see loendab ainult sobivaid dokumente, mitte kogu kogumit. See on kasulik aruannete puhul, näiteks kui palju töötajaid osakonda kuulub või kui palju tellimusi on veel pooleli.
Järgmises näites loendatakse töötajad, kelle EmployeeID on suurem kui 2:
db.Employee.count({Employeeid:{$gt:2}})
Siin on see, mis juhtub:
- Päringuobjekt {Employeeid:{$gt:2}} toimib filtrina, kasutades operaatorit $gt (suurem kui).
- count() tagastab ainult nende dokumentide arvu, mis vastavad filtrile.
- Ülejäänud kollektsiooni ignoreeritakse kogusummas.
Praeguses MongoDB versioonide puhul on tingimusliku loendamise jaoks soovitatav meetod countDocuments(), kuna see tagastab alati täpse tulemuse. Sellega töötab sama päring:
db.Employee.countDocuments({Employeeid:{$gt:2}})
Mõlemad käsud tagastavad ühe numbri, mille saate salvestada muutujasse või otse kuvada. Vastava indeksi lisamine päringuväljale hoiab tingimusliku loendamise suurte kogude puhul kiire.
Modifikatsioonide teostamine
Ülejäänud kaks operatsioonide klassi MongoDB on värskendamise ja eemaldamise avaldused.
Värskendustoimingud võimaldavad olemasolevaid andmeid muuta ja eemaldamise toimingud võimaldavad andmeid kogust kustutada.
Eemalda() funktsioon sisse MongoDB
In MongoDB, db.collection.remove() meetodit kasutatakse dokumentide eemaldamiseks kogust. Kogust saab eemaldada kas kõik dokumendid või ainult need, mis vastavad konkreetsele tingimusele.
Kui annate lihtsalt eemaldamiskäsu, eemaldatakse kogust kõik dokumendid.
Näide MongoDB Eemalda () funktsioon
Järgmine koodinäide näitab, kuidas konkreetset dokumenti kogust eemaldada.
db.Employee.remove({Employeeid:22})
Code Selgitus:
- Ülaltoodud kood kasutab eemaldamisfunktsiooni ja määrab kriteeriumid, milleks antud juhul eemaldatakse dokumendid, mille töötaja ID on 22.
Kui käsk on edukalt täidetud, kuvatakse järgmine väljund
Väljund:
Väljund näitab, et 1 dokument on eemaldatud.
Eemalda kõik dokumendid vs üks dokument
Meetod remove() saab kustutada kõik sobivad dokumendid või ainult ühe, olenevalt edastatud argumentidest. Erinevuse mõistmine hoiab ära juhusliku andmete kadumise.
Kollektsiooni kõigi dokumentide eemaldamiseks edastage tühi tingimus:
db.Employee.remove({})
See kustutab kõik dokumendid, kuid säilitab kogu enda. Ainult tingimusele vastavate dokumentide eemaldamiseks edastage päringuobjekt, nagu varem näidatud {Employeeid:22} abil. Kui mitu dokumenti vastavad tingimusele ja soovite kustutada ainult esimese, lisage suvand „justOne”:
db.Employee.remove({EmployeeName:"Smith"}, {justOne:true})
Peamised erinevused on:
- remove({}) kustutab kõik kollektsioonis olevad dokumendid.
- remove({condition}) kustutab kõik dokumendid, mis vastavad tingimusele.
- remove({condition}, {justOne:true}) kustutab ainult esimese sobiva dokumendi.
Enne eemaldamiskäsu käivitamist kontrollige alati tingimust, sest tühi või vale filter võib kogu kollektsiooni tühjendada. Tänapäevases kontekstis MongoDB, deleteOne() ja deleteMany() asendavad need mustrid ja muudavad kavatsuse selgemaks.
count() ja remove() funktsioonide kaasaegsed alternatiivid
Nii count() kui ka remove() on pärandmeetodid. Uuem MongoDB Draiverid märgivad need aegunuks ja pakuvad selgemaid asendusi. Allolev tabel seob iga vana meetodi selle tänapäevase vastega:
| Pärandmeetod | Kaasaegne asendamine | Eesmärk |
|---|---|---|
| count () | countDocuments() | Tagastab sobivate dokumentide täpse arvu |
| count () | hinnangulineDokumentideArv() | Tagastab kiire ja ligikaudse kõigi dokumentide arvu. |
| eemalda () | deleteOne() | Kustutab esimese filtrile vastava dokumendi |
| eemalda () | kustutaMany() | Kustutab kõik filtrile vastavad dokumendid |
Uute rakenduste puhul eelista neid moodsaid meetodeid. Need eraldavad loendamise hindamisest ja ühe dokumendi kustutamise paljude kustutamisest, mis muudab päringud turvalisemaks ja hõlpsamini loetavaks. Vanemate õpetuste ja skriptide puhul toimivad endiselt ka pärandmeetodid count() ja remove().


