Count() & Remove() Functies in MongoDB met Voorbeeld
⚡ Slimme samenvatting
De functies Count() en Remove() in MongoDB Rapporteer hoeveel documenten een verzameling bevat en verwijder documenten uit die verzameling. De `count()`-methode retourneert het totale aantal documenten, terwijl de `remove()`-methode alle documenten verwijdert of alleen de documenten die aan een bepaalde voorwaarde voldoen.

MongoDB Count()-functie
Het concept van aggregatie is het uitvoeren van een berekening op de resultaten die in een query worden geretourneerd. Stel dat u bijvoorbeeld wilt weten wat het aantal documenten in een verzameling is volgens de geactiveerde query MongoDB biedt de functie count().
Voorbeeld MongoDB Count()-functie
Laten we een voorbeeld hiervan bekijken.
db.Employee.count()
Code Uitleg:
- De bovenstaande code voert de telfunctie uit.
Als de opdracht succesvol is uitgevoerd, wordt de volgende uitvoer weergegeven
Output:
Uit de uitvoer blijkt duidelijk dat er 4 documenten in de collectie aanwezig zijn.
MongoDB Tellen met een queryvoorwaarde
De `count()`-methode is vooral handig wanneer je een queryvoorwaarde doorgeeft, zodat alleen de documenten worden geteld die aan de voorwaarde voldoen in plaats van de hele collectie. Dit is nuttig voor rapporten, bijvoorbeeld over het aantal medewerkers van een afdeling of het aantal openstaande bestellingen.
Het volgende voorbeeld telt de werknemers waarvan het Employeeid groter is dan 2:
db.Employee.count({Employeeid:{$gt:2}})
Dit is wat er gebeurt:
- Het queryobject {Employeeid:{$gt:2}} fungeert als filter en maakt gebruik van de operator $gt (groter dan).
- count() retourneert alleen het aantal documenten dat aan het filter voldoet.
- De rest van de collectie wordt in het totaal niet meegerekend.
In de huidige MongoDB Voor versies is `countDocuments()` de aanbevolen methode voor een voorwaardelijke telling, omdat deze altijd een nauwkeurig resultaat oplevert. Dezelfde query werkt ermee:
db.Employee.countDocuments({Employeeid:{$gt:2}})
Beide commando's retourneren één enkel getal, dat u in een variabele kunt opslaan of direct kunt weergeven. Door een overeenkomende index toe te voegen aan het opgevraagde veld, blijven voorwaardelijke tellingen snel, zelfs bij grote verzamelingen.
Wijzigingen uitvoeren
De andere twee soorten operaties in MongoDB zijn de update- en verwijderinstructies.
Met de updatebewerkingen kunt u bestaande gegevens wijzigen en met de verwijderbewerkingen kunt u gegevens uit een verzameling verwijderen.
Remove() Functie in MongoDB
In MongoDB db.collection.remove() Deze methode wordt gebruikt om documenten uit een collectie te verwijderen. U kunt óf alle documenten uit een collectie verwijderen, óf alleen de documenten die aan een specifieke voorwaarde voldoen.
Als u alleen maar de verwijderopdracht geeft, worden alle documenten uit de collectie verwijderd.
Voorbeeld MongoDB Functie Verwijderen().
Het volgende codevoorbeeld laat zien hoe u een specifiek document uit de verzameling verwijdert.
db.Employee.remove({Employeeid:22})
Code Uitleg:
- De bovenstaande code gebruikt de verwijderfunctie en specificeert de criteria die in dit geval het verwijderen van de documenten met de werknemers-ID 22 zijn.
Als de opdracht succesvol is uitgevoerd, wordt de volgende uitvoer weergegeven
Output:
De uitvoer zal laten zien dat er 1 document is verwijderd.
Alle documenten verwijderen versus een enkel document verwijderen
De remove()-methode kan alle overeenkomende documenten verwijderen of slechts één, afhankelijk van de argumenten die u doorgeeft. Inzicht in dit verschil voorkomt onbedoeld gegevensverlies.
Om alle documenten in een verzameling te verwijderen, geef je een lege voorwaarde door:
db.Employee.remove({})
Hiermee worden alle documenten verwijderd, maar de collectie zelf blijft behouden. Om alleen documenten te verwijderen die aan een bepaalde voorwaarde voldoen, geeft u een query-object door, zoals eerder getoond met {Employeeid:22}. Als meerdere documenten aan de voorwaarde voldoen en u alleen het eerste document wilt verwijderen, voegt u de optie justOne toe:
db.Employee.remove({EmployeeName:"Smith"}, {justOne:true})
De belangrijkste verschillen zijn:
- remove({}) verwijdert alle documenten in de verzameling.
- remove({condition}) verwijdert alle documenten die aan de voorwaarde voldoen.
- remove({condition}, {justOne:true}) verwijdert alleen het eerste overeenkomende document.
Controleer altijd de voorwaarde voordat u een verwijderingsopdracht uitvoert, want een leeg of onjuist filter kan de hele verzameling wissen. In moderne MongoDBDe functies deleteOne() en deleteMany() vervangen deze patronen en maken de bedoeling duidelijker.
Moderne alternatieven voor count() en remove()
Zowel count() als remove() zijn verouderde methoden. Nieuwere MongoDB Bestuurders markeren ze als verouderd en bieden duidelijkere alternatieven aan. De onderstaande tabel koppelt elke oude methode aan het moderne equivalent:
| Legacy-methode | Moderne vervanging | Doel |
|---|---|---|
| tellen () | countDocuments() | Geeft een nauwkeurig aantal overeenkomende documenten terug. |
| tellen () | geschatDocumentAantal() | Geeft een snelle, geschatte telling van alle documenten terug. |
| verwijderen() | verwijderEen() | Verwijdert het eerste document dat aan het filter voldoet. |
| verwijderen() | deleteMany() | Verwijdert alle documenten die aan het filter voldoen. |
Voor nieuwe toepassingen is het aan te raden deze moderne methoden te gebruiken. Ze scheiden tellen van schatten en het verwijderen van één document van het verwijderen van meerdere documenten, waardoor query's veiliger en leesbaarder worden. De oudere functies `count()` en `remove()` werken nog steeds voor oudere tutorials en scripts.


