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.

  • 🔢 Dokumentide loendamine: Meetod count() tagastab dokumentide arvu kogumis või päringule vastavate dokumentide arvu.
  • 🎯 Loenda filtriga: Tingimuse edastamine funktsioonile count() annab aru ainult dokumentidest, mis sellele tingimusele vastavad.
  • 🗑️ Eemalda dokumendid: Meetod remove() kustutab dokumendid – kas kõik või need, mis vastavad kriteeriumiobjektile.
  • ☝️ Eemalda üks: Valik justOne piirab funktsiooni remove() nii, et see kustutab ainult ühe sobiva dokumendi kõigi vastete asemel.
  • 🔄 Kaasaegsed meetodid: countDocuments() ja deleteMany() on aegunud count() ja remove() funktsioonide praegused asendajad.
  • 🖨️ Väljundi kontrollimine: Iga käsk tagastab tulemuse, mis näitab eemaldatud dokumentide arvu või arvu.

Count() & Remove() Funktsioonid sisse MongoDB

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:

Näide MongoDB Count() Funktsioon

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:

Näide MongoDB Eemalda () funktsioon

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().

KKK

remove() kustutab dokumendid, kuid säilitab kollektsiooni ja selle indeksid. drop() kustutab kogu kollektsiooni, kaasa arvatud kõik dokumendid ja indeksi. Kasuta andmete jaoks remove'i ja drop'i kollektsiooni täielikuks eemaldamiseks.

Ei. remove() kustutab ainult kollektsioonis olevad dokumendid. Kogumik, selle indeksid ja konfiguratsioon jäävad alles, seega saate hiljem samasse kollektsiooni uusi dokumente lisada ilma seda uuesti loomata.

Funktsioon „pärand count()“ suudab pärast ebaõnnestunud toiminguid killustatud klastrite kohta ligikaudse väärtuse tagastada. Täpse summa saamiseks kasutage funktsiooni countDocuments(), mis käivitab agregeerimise; kui kiirus on täpsusest olulisem, kasutage funktsiooni estimatedDocumentCount().

Tehisintellekt suudab lihtsa päringu õige filtri abil õigeks loendamise või kustutamise päringuks teisendada ja hoiatada teid, kui eemaldamiskäsk mõjutab kõiki dokumente. Enne käivitamist vaadake see alati üle.

Jah. Tehisintellekt saab üle vaadata käsu „eemalda” või „kustutaMany”, märkida puuduva filtri, mis tühjendaks kogu kollektsiooni, ning soovitada enne selle käivitamist tingimuse lisamist või varukoopia tegemist.

Võta see postitus kokku järgmiselt: