Count() & Remove() Fungerar i MongoDB med exempel
โก Smart sammanfattning
Funktionerna Count() och Remove() i MongoDB rapporterar hur mรฅnga dokument en samling innehรฅller och tar bort dokument frรฅn den. Metoden count() returnerar dokumenttotalen, medan metoden remove() tar bort alla dokument eller endast de som matchar ett angivet villkor.

MongoDB Count() Funktion
Konceptet med aggregering รคr att utfรถra en berรคkning av resultaten som returneras i en frรฅga. Anta till exempel att du ville veta hur mรฅnga dokument som finns i en samling enligt den frรฅga som skickades. MongoDB tillhandahรฅller funktionen count().
Exempel pรฅ MongoDB Count() Funktion
Lรฅt oss titta pรฅ ett exempel pรฅ detta.
db.Employee.count()
Code Fรถrklaring:
- Ovanstรฅende kod utfรถr rรคknefunktionen.
Om kommandot utfรถrs framgรฅngsrikt kommer fรถljande utdata att visas
Produktion:
Utgรฅngen visar tydligt att 4 dokument finns i samlingen.
MongoDB Rรคkna med ett frรฅgevillkor
Metoden count() รคr mest anvรคndbar nรคr du skickar ett frรฅgevillkor, sรฅ den rรคknar bara de dokument som matchar istรคllet fรถr hela samlingen. Detta รคr anvรคndbart fรถr rapporter, till exempel hur mรฅnga anstรคllda som tillhรถr en avdelning eller hur mรฅnga ordrar som fortfarande รคr รถppna.
Fรถljande exempel rรคknar de anstรคllda vars Employee-id รคr stรถrre รคn 2:
db.Employee.count({Employeeid:{$gt:2}})
Hรคr รคr vad som hรคnder:
- Frรฅgeobjektet {Employeeid:{$gt:2}} fungerar som ett filter med hjรคlp av operatorn $gt (stรถrre รคn).
- count() returnerar endast antalet dokument som uppfyller filtret.
- Resten av samlingen ignoreras i totalen.
I nuvarande MongoDB versioner, countDocuments() รคr den rekommenderade metoden fรถr ett villkorligt antal, eftersom den alltid returnerar ett korrekt resultat. Samma frรฅga fungerar med den:
db.Employee.countDocuments({Employeeid:{$gt:2}})
Bรฅda kommandona returnerar ett enda tal, som du kan lagra i en variabel eller visa direkt. Att lรคgga till ett matchande index i det efterfrรฅgade fรคltet hรฅller villkorliga rรคkningar snabba pรฅ stora samlingar.
Utfรถra รคndringar
De tvรฅ andra verksamhetsklasserna i MongoDB รคr uppdateringen och ta bort uttalanden.
Uppdateringsoperationerna tillรฅter en att modifiera befintliga data, och borttagningsoperationerna tillรฅter radering av data frรฅn en samling.
Remove() Funktion i MongoDB
In MongoDB, den db.collection.remove() metod anvรคnds fรถr att ta bort dokument frรฅn en samling. Antingen kan alla dokument tas bort frรฅn en samling eller bara de som matchar ett specifikt villkor.
Om du bara utfรคrdar kommandot remove kommer alla dokument att tas bort frรฅn samlingen.
Exempel pรฅ MongoDB Remove() Funktion
Fรถljande kodexempel visar hur man tar bort ett specifikt dokument frรฅn samlingen.
db.Employee.remove({Employeeid:22})
Code Fรถrklaring:
- Ovanstรฅende kod anvรคnder borttagningsfunktionen och specificerar kriterierna som i detta fall รคr att ta bort de dokument som har anstรคllds-id som 22.
Om kommandot utfรถrs framgรฅngsrikt kommer fรถljande utdata att visas
Produktion:
Utdata visar att 1 dokument har tagits bort.
Ta bort alla dokument kontra ett enda dokument
Metoden remove() kan ta bort alla matchande dokument eller bara ett, beroende pรฅ vilka argument du skickar. Att fรถrstรฅ skillnaden fรถrhindrar oavsiktlig datafรถrlust.
Fรถr att ta bort alla dokument i en samling, skicka ett tomt villkor:
db.Employee.remove({})
Detta tar bort alla dokument men sjรคlva samlingen behรฅlls. Fรถr att bara ta bort dokument som matchar ett villkor, skicka ett frรฅgeobjekt, som visats tidigare med {Employeeid:22}. Om flera dokument matchar och du bara vill ta bort det fรถrsta, lรคgg till alternativet justOne:
db.Employee.remove({EmployeeName:"Smith"}, {justOne:true})
De viktigaste skillnaderna รคr:
- remove({}) tar bort alla dokument i samlingen.
- remove({condition}) tar bort alla dokument som matchar villkoret.
- remove({condition}, {justOne:true}) tar bara bort det fรถrsta matchande dokumentet.
Dubbelkolla alltid villkoret innan du kรถr ett remove-kommando, eftersom ett tomt eller felaktigt filter kan rensa hela samlingen. MongoDB, deleteOne() och deleteMany() ersรคtter dessa mรถnster och gรถr avsikten tydligare.
Moderna alternativ till count() och remove()
Bรฅde count() och remove() รคr รคldre metoder. Nyare MongoDB Drivrutiner markerar dem som fรถrรฅldrade och ger tydligare ersรคttningar. Tabellen nedan mappar varje gammal metod till dess moderna motsvarighet:
| รldre metod | Modern ersรคttning | Syfte |
|---|---|---|
| rรคkna() | countDocuments() | Returnerar ett korrekt antal matchande dokument |
| rรคkna() | uppskattatDokumentAntal() | Returnerar ett snabbt, ungefรคrligt antal dokument |
| avlรคgsna() | deleteOne() | Tar bort det fรถrsta dokumentet som matchar filtret |
| avlรคgsna() | deleteMany() | Tar bort alla dokument som matchar filtret |
Fรถr nya applikationer, fรถredra dessa moderna metoder. De separerar rรคkning frรฅn uppskattning och borttagning av ett dokument frรฅn borttagning av mรฅnga, vilket gรถr frรฅgor sรคkrare och lรคttare att lรคsa. De รคldre metoderna count() och remove() fungerar fortfarande fรถr รคldre handledningar och skript.


