Count() & Remove() Funktiot sisään MongoDB esimerkin kanssa
⚡ Älykäs yhteenveto
Count()- ja Remove()-funktiot MongoDB raportoi kokoelman sisältämien dokumenttien lukumäärän ja poistaa siitä dokumentteja. Count()-metodi palauttaa dokumenttien kokonaismäärän, kun taas remove()-metodi poistaa kaikki dokumentit tai vain ne, jotka vastaavat tiettyä ehtoa.

MongoDB Count()-funktio
Aggregoinnin ideana on suorittaa laskenta kyselyssä palautetuista tuloksista. Oletetaan esimerkiksi, että haluat tietää, mikä on kokoelman asiakirjojen määrä käynnistetyn kyselyn mukaan, MongoDB tarjoaa count()-funktion.
Esimerkki MongoDB Count()-funktio
Katsotaanpa esimerkkiä tästä.
db.Employee.count()
Code Selitys:
- Yllä oleva koodi suorittaa laskentatoiminnon.
Jos komento suoritetaan onnistuneesti, seuraava Output näytetään
lähtö:
Tulos osoittaa selvästi, että kokoelmassa on 4 dokumenttia.
MongoDB Laske kyselyehdolla
count()-metodi on hyödyllisin silloin, kun välität kyselyehdon, jolloin se laskee vain vastaavat dokumentit koko kokoelman sijaan. Tästä on hyötyä raporteissa, kuten esimerkiksi osastoon kuuluvien työntekijöiden tai avointen tilausten lukumäärän määrittämisessä.
Seuraava esimerkki laskee työntekijät, joiden Employeeid on suurempi kuin 2:
db.Employee.count({Employeeid:{$gt:2}})
Tässä on mitä tapahtuu:
- Kyselyobjekti {Employeeid:{$gt:2}} toimii suodattimena käyttäen $gt (suurempi kuin) -operaattoria.
- count() palauttaa vain niiden dokumenttien määrän, jotka täyttävät suodattimen.
- Kokoelman loppuosa jätetään kokonaissumman ulkopuolelle.
Nykyisessä MongoDB versioissa countDocuments() on suositeltu metodi ehdolliselle laskennalle, koska se palauttaa aina tarkan tuloksen. Sama kysely toimii sen kanssa:
db.Employee.countDocuments({Employeeid:{$gt:2}})
Molemmat komennot palauttavat yhden numeron, jonka voit tallentaa muuttujaan tai näyttää suoraan. Vastaavan indeksin lisääminen kyselykenttään pitää ehdolliset laskennat nopeina suurissa kokoelmissa.
Muutosten suorittaminen
Kaksi muuta toimintaluokkaa MongoDB ovat päivitys- ja poistolausekkeet.
Päivitystoiminnot mahdollistavat olemassa olevien tietojen muokkaamisen ja poistotoiminnot tietojen poistamisen kokoelmasta.
Poista()-funktio sisään MongoDB
In MongoDB, The db.collection.remove() menetelmää käytetään asiakirjojen poistamiseen kokoelmasta. Joko kaikki asiakirjat voidaan poistaa kokoelmasta tai vain ne, jotka vastaavat tiettyä ehtoa.
Jos annat vain poistokomennon, kaikki asiakirjat poistetaan kokoelmasta.
Esimerkki MongoDB Poista()-funktio
Seuraava koodiesimerkki osoittaa, kuinka tietty asiakirja poistetaan kokoelmasta.
db.Employee.remove({Employeeid:22})
Code Selitys:
- Yllä oleva koodi käyttää poistotoimintoa ja määrittää kriteerit, joilla tässä tapauksessa poistetaan asiakirjat, joiden työntekijätunnus on 22.
Jos komento suoritetaan onnistuneesti, seuraava Output näytetään
lähtö:
Tuloste näyttää, että yksi asiakirja on poistettu.
Poista kaikki dokumentit vs. yksittäinen dokumentti
remove()-metodi voi poistaa kaikki vastaavat dokumentit tai vain yhden, antamistasi argumenteista riippuen. Eron ymmärtäminen estää vahingossa tapahtuvan tiedon menetyksen.
Poistaaksesi kaikki kokoelman dokumentit, anna tyhjä ehto:
db.Employee.remove({})
Tämä poistaa kaikki dokumentit, mutta säilyttää itse kokoelman. Jos haluat poistaa vain ehtoa vastaavat dokumentit, välitä kyselyobjekti, kuten aiemmin on esitetty {Employeeid:22}-metodilla. Jos useita ehtoa vastaavia dokumentteja on useita ja haluat poistaa vain ensimmäisen, lisää justOne-vaihtoehto:
db.Employee.remove({EmployeeName:"Smith"}, {justOne:true})
Keskeiset erot ovat:
- remove({}) poistaa kaikki kokoelman dokumentit.
- remove({condition}) poistaa kaikki ehtoa vastaavat dokumentit.
- remove({condition}, {justOne:true}) poistaa vain ensimmäisen vastaavan dokumentin.
Tarkista aina ehto kahdesti ennen poistokomennon suorittamista, koska tyhjä tai väärä suodatin voi tyhjentää koko kokoelman. Nykyaikaisissa sovelluksissa MongoDB, deleteOne() ja deleteMany() korvaavat nämä mallit ja selkeyttävät tarkoitusta.
Nykyaikaisia vaihtoehtoja count()- ja remove()-funktioille
Sekä count() että remove() ovat vanhoja metodeja. Uudemmat MongoDB ajurit merkitsevät ne vanhentuneiksi ja tarjoavat selkeämpiä korvaavia menetelmiä. Alla oleva taulukko yhdistää jokaisen vanhan menetelmän sen nykyaikaiseen vastineeseen:
| Vanha menetelmä | Moderni korvaaminen | Tarkoitus |
|---|---|---|
| Kreivi() | countDocuments() | Palauttaa täsmällisten dokumenttien tarkan määrän |
| Kreivi() | arvioituAsiakirjojenLaskuri() | Palauttaa nopean ja likimääräisen määrän kaikista dokumenteista |
| Poista() | deleteOne() | Poistaa ensimmäisen suodatinta vastaavan dokumentin |
| Poista() | poistaMany() | Poistaa kaikki suodatinta vastaavat asiakirjat |
Uusissa sovelluksissa suosi näitä moderneja menetelmiä. Ne erottavat laskemisen arvioinnista ja yhden dokumentin poistamisen useiden poistamisesta, mikä tekee kyselyistä turvallisempia ja helpompia lukea. Vanhat count()- ja remove()-metodit toimivat edelleen vanhemmissa tutoriaaleissa ja skripteissä.


