I MongoDB er db.collection.count()
metoden returnerer antallet af dokumenter, der ville matche en find()
forespørgsel til samlingen eller visningen.
collection
del er navnet på samlingen eller visningen, der skal udføres tælleoperationen på.
Bemærk, at den faktisk ikke udfører en find()
operation. Den tæller simpelthen og returnerer antallet af resultater, der matcher en forespørgsel.
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.count()
Resultat:
7
Dette svarer til at gøre følgende:
db.pets.find().count()
Resultat:
7
MongoDB-dokumentationen fraråder faktisk at bruge db.collection.count()
uden et forespørgselsprædikat. Dette skyldes, at metoden returnerer resultater 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 bestå forespørgselskriterierne.
Eksempel:
db.pets.count({
"type": "Dog"
})
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.count({
"weight": { $gt: 10 }
})
Resultat:
3
Begræns antallet
Du kan bruge limit
parameter for at angive et maksimalt antal dokumenter, der skal tælles.
Eksempel:
db.pets.count( {}, { limit: 5 } )
Resultat:
5
Vi så før, at der faktisk er 7 dokumenter i denne samling, men i dette eksempel begrænsede vi det til maksimalt at tælle 5.
Hvis grænsen er højere end det faktiske antal, vil resultatet ikke blive påvirket af limit
argument.
Eksempel:
db.pets.count( {}, { limit: 10 } )
Resultat:
7
Spring af dokumenter over
Du kan tælle ved at bruge skip
parameter for at springe et antal dokumenter over før optælling.
Eksempel:
db.pets.count( {}, { skip: 5 } )
Resultat:
2
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.
Flere oplysninger
db.collection.count()
metoden er en indpakning for count
kommando.
db.collection.count()
metoden accepterer andre parametre, såsom hint
, maxTimeMS
, readConcern
, og collation
.
Se MongoDB-dokumentationen for mere information.