Count() & Remove() függvények MongoDB példával
⚡ Okos összefoglaló
Count() és Remove() függvények a MongoDB Jelentést ad arról, hogy egy gyűjtemény hány dokumentumot tartalmaz, és töröl belőle dokumentumokat. A count() metódus visszaadja a dokumentumok teljes számát, míg a remove() metódus minden dokumentumot vagy csak azokat törli, amelyek megfelelnek egy adott feltételnek.

MongoDB Count() függvény
Az összesítés fogalma a lekérdezésben visszaadott eredmények számításának végrehajtása. Tegyük fel például, hogy meg akarta tudni, mennyi a dokumentumok száma egy gyűjteményben az aktivált lekérdezés szerint, akkor MongoDB biztosítja a count() függvényt.
Például az MongoDB Count() függvény
Nézzünk erre egy példát.
db.Employee.count()
Code Magyarázat:
- A fenti kód végrehajtja a számláló funkciót.
Ha a parancs sikeresen végrehajtásra került, a következő kimenet jelenik meg
output:
A kimeneten jól látható, hogy 4 dokumentum van a gyűjteményben.
MongoDB Számlálás lekérdezési feltétellel
A count() metódus akkor a leghasznosabb, ha lekérdezési feltételt adsz meg, így csak az egyező dokumentumokat számolja a teljes gyűjtemény helyett. Ez hasznos jelentések készítéséhez, például ahhoz, hogy hány alkalmazott tartozik egy részleghez, vagy hány rendelés van még folyamatban.
A következő példa azokat az alkalmazottakat számolja, akiknek az Employeeid értéke nagyobb, mint 2:
db.Employee.count({Employeeid:{$gt:2}})
Itt van, mi történik:
- Az {Employeeid:{$gt:2}} lekérdezési objektum szűrőként működik, a $gt (nagyobb, mint) operátort használva.
- A count() függvény csak a szűrőnek megfelelő dokumentumok számát adja vissza.
- A gyűjtemény többi részét figyelmen kívül hagyjuk az összesítésben.
Jelenlegi MongoDB verziók esetén a countDocuments() az ajánlott metódus a feltételes számláláshoz, mivel mindig pontos eredményt ad vissza. Ugyanaz a lekérdezés működik vele is:
db.Employee.countDocuments({Employeeid:{$gt:2}})
Mindkét parancs egyetlen számot ad vissza, amelyet egy változóban tárolhatsz, vagy közvetlenül megjeleníthetsz. A lekérdezett mezőhöz egyező index hozzáadása nagy gyűjtemények esetén is gyors feltételes számlálást biztosít.
Módosítások végrehajtása
A másik két műveleti osztály a MongoDB a frissítés és eltávolítás utasítások.
A frissítési műveletek lehetővé teszik a meglévő adatok módosítását, az eltávolítási műveletek pedig az adatok törlését egy gyűjteményből.
Remove() függvény be MongoDB
In MongoDB, a db.collection.remove() módszer a dokumentumok gyűjteményből való eltávolítására szolgál. Vagy az összes dokumentum eltávolítható a gyűjteményből, vagy csak azok, amelyek megfelelnek egy adott feltételnek.
Ha csak kiadja az eltávolítás parancsot, akkor az összes dokumentumot eltávolítja a gyűjteményből.
Például az MongoDB Remove() függvény
A következő kódpélda bemutatja, hogyan távolíthat el egy adott dokumentumot a gyűjteményből.
db.Employee.remove({Employeeid:22})
Code Magyarázat:
- A fenti kód az eltávolítás funkciót használja, és meghatározza azokat a feltételeket, amelyek ebben az esetben a 22-es alkalmazotti azonosítóval rendelkező dokumentumok eltávolítását jelentik.
Ha a parancs sikeresen végrehajtásra került, a következő kimenet jelenik meg
output:
A kimenet azt fogja mutatni, hogy 1 dokumentumot eltávolítottak.
Az összes dokumentum eltávolítása egyetlen dokumentum eltávolításával szemben
A remove() metódus képes törölni az összes egyező dokumentumot, vagy csak egyet, az átadott argumentumoktól függően. A különbség megértése megakadályozza a véletlen adatvesztést.
Egy gyűjtemény összes dokumentumának eltávolításához adjon át egy üres feltételt:
db.Employee.remove({})
Ez az összes dokumentumot törli, de magát a gyűjteményt megtartja. Ha csak a feltételnek megfelelő dokumentumokat szeretné eltávolítani, adjon át egy lekérdezésobjektumot, ahogy azt korábban a {Employeeid:22} paraméterrel láthattuk. Ha több dokumentum is egyezik, és csak az elsőt szeretné törölni, adja hozzá a justOne opciót:
db.Employee.remove({EmployeeName:"Smith"}, {justOne:true})
A legfontosabb különbségek a következők:
- A remove({}) függvény törli az összes dokumentumot a gyűjteményből.
- A remove({condition}) függvény törli az összes olyan dokumentumot, amely megfelel a feltételnek.
- A remove({condition}, {justOne:true}) csak az első egyező dokumentumot törli.
Mindig ellenőrizd a feltételt a remove parancs futtatása előtt, mert egy üres vagy rossz szűrő a teljes gyűjteményt kiürítheti. Modern környezetben MongoDBA deleteOne() és deleteMany() függvények lecserélik ezeket a mintákat, és egyértelműbbé teszik a szándékot.
Modern alternatívák a count() és remove() függvényekre
Mind a count(), mind a remove() metódusok régebbi metódusok. Újabb MongoDB az illesztőprogramok elavultként jelölik meg őket, és egyértelműbb helyettesítőket biztosítanak. Az alábbi táblázat az egyes régi metódusokat a modern megfelelőjükhöz rendeli:
| Régi módszer | Modern csere | Cél |
|---|---|---|
| számol () | számlálóDokumentumok() | A megfelelő dokumentumok pontos számát adja vissza. |
| számol () | becsültDokumentumSzám() | Gyorsan visszaadja az összes dokumentum hozzávetőleges számát |
| eltávolítás () | deleteOne() | Törli az első, a szűrőnek megfelelő dokumentumot |
| eltávolítás () | töröl() | Törli az összes dokumentumot, amely megfelel a szűrőnek |
Új alkalmazásokhoz előnyben részesítsd ezeket a modern metódusokat. Ezek elkülönítik a számlálást a becsléstől, és egy dokumentum törlését a sok törlésétől, ami biztonságosabbá és könnyebben olvashatóvá teszi a lekérdezéseket. A korábbi count() és remove() metódusok továbbra is működnek régebbi oktatóanyagok és szkriptek esetén.


