I MongoDB er cursor.count()
metode tæller antallet af dokumenter, der refereres til af en markør..
Bemærk, at den faktisk ikke udfører forespørgslen. Den tæller simpelthen og returnerer antallet af resultater, der ville blive returneret af forespørgslen.
cursor.count()
metoden er en indpakning for count
kommando.
Eksempel
Antag, at vi har en samling kaldet pets
med følgende dokumenter:
{ "_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 }
Vi kan bruge følgende forespørgsel til at returnere antallet af dokumenter i samlingen:
db.pets.find().count()
Resultat:
7
Dette svarer til at gøre følgende:
db.pets.count()
Resultat:
7
MongoDB-dokumentationen fraråder faktisk at bruge cursor.count()
når find()
metode kaldes uden et forespørgselsprædikat. Dette skyldes, at resultaterne i sådanne tilfælde er baseret på samlingens metadata, hvilket kan resultere i et omtrentligt antal.
Tæl resultatet af en forespørgsel
Du kan tælle resultatet af en forespørgsel ved at videregive forespørgselskriterierne til find()
metode.
Eksempel:
db.pets.find({"type": "Dog"}).count()
Resultat:
4
I dette eksempel fandt vi ud af, at der er fire hunde i samlingen.
Lad os tjekke antallet af en anden forespørgsel. Denne gang finder vi ud af, hvor mange kæledyr der har en vægt, der er større end en vis mængde.
db.pets.find({"weight": { $gt: 10 }}).count()
Resultat:
3
Udvikling
Bemærk, at MongoDB-dokumentationen angiver følgende:
MongoDB-drivere, der er kompatible med 4.0-funktionerne, forælder deres respektive markør og samling
count()
API'er til fordel for nye API'er tilcountDocuments()
ogestimatedDocumentCount()
. For de specifikke API-navne for en given driver, se driverdokumentationen.
applySkipLimit
Parameter
cursor.count()
metoden accepterer én valgfri parameter:applySkipLimit
parameter.
Denne parameter specificerer, om effekterne af cursor.skip()
skal tages i betragtning og cursor.limit()
metoder i optællingen.
Som standard ignorerer den enhver effekt af disse to metoder. For at inkludere effekterne skal du bruge appySkipLimit: true
.
Flere oplysninger
Se MongoDB-dokumentationen for mere information.