In MongoDB de cursor.count()
methode telt het aantal documenten waarnaar wordt verwezen door een cursor..
Merk op dat het de query niet daadwerkelijk uitvoert. Het telt gewoon en geeft het aantal resultaten terug dat door de zoekopdracht zou worden geretourneerd.
De cursor.count()
methode is een wrapper voor de count
commando.
Voorbeeld
Stel dat we een verzameling hebben met de naam pets
met de volgende documenten:
{ "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 } { "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 } { "_id" : 3, "name" : "Meow", "type" : "Cat", "weight" : 7 } { "_id" : 4, "name" : "Scratch", "type" : "Cat", "weight" : 8 } { "_id" : 5, "name" : "Bruce", "type" : "Bat", "weight" : 3 } { "_id" : 6, "name" : "Fetch", "type" : "Dog", "weight" : 17 } { "_id" : 7, "name" : "Jake", "type" : "Dog", "weight" : 30 }
We kunnen de volgende query gebruiken om het aantal documenten in de collectie te retourneren:
db.pets.find().count()
Resultaat:
7
Dit komt overeen met het volgende:
db.pets.count()
Resultaat:
7
De MongoDB-documentatie raadt het gebruik van cursor.count()
eigenlijk af wanneer de find()
methode wordt aangeroepen zonder een query-predikaat. In dergelijke gevallen zijn de resultaten namelijk gebaseerd op de metadata van de collectie, wat kan resulteren in een geschatte telling.
Tel het resultaat van een zoekopdracht
U kunt het resultaat van een zoekopdracht tellen door de zoekopdrachtcriteria door te geven aan de find()
methode.
Voorbeeld:
db.pets.find({"type": "Dog"}).count()
Resultaat:
4
In dit voorbeeld kwamen we erachter dat er vier honden in de collectie zijn.
Laten we het aantal van een andere zoekopdracht controleren. Deze keer zullen we ontdekken hoeveel huisdieren een groter gewicht hebben dan een bepaald aantal.
db.pets.find({"weight": { $gt: 10 }}).count()
Resultaat:
3
Beëindiging
Merk op dat de MongoDB-documentatie het volgende vermeldt:
MongoDB-stuurprogramma's die compatibel zijn met de 4.0-functies depreciëren hun respectieve cursor en verzameling
count()
API's voor nieuwe API's voorcountDocuments()
enestimatedDocumentCount()
. Zie de driverdocumentatie voor de specifieke API-namen voor een bepaalde driver.
De applySkipLimit
Parameter
De cursor.count()
methode accepteert één optionele parameter:de applySkipLimit
parameter.
Deze parameter geeft aan of de effecten van de cursor.skip()
. moeten worden overwogen en cursor.limit()
methoden in de telling.
Standaard negeert het alle effecten van deze twee methoden. Gebruik appySkipLimit: true
. om de effecten op te nemen .
Meer informatie
Zie de MongoDB-documentatie voor meer informatie.