In MongoDB de db.collection.estimatedDocumentCount()
methode retourneert het aantal documenten in een verzameling of weergave.
De collection
deel is de naam van de verzameling of weergave waarop de telbewerking moet worden uitgevoerd.
De db.collection.estimatedDocumentCount()
methode wikkelt 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.estimatedDocumentCount()
Resultaat:
7
De db.collection.estimatedDocumentCount()
methode heeft geen queryfilter nodig. In plaats daarvan gebruikt het metadata om het aantal documenten voor de hele collectie te retourneren.
Het werkt echter nog steeds als het wordt geleverd met een leeg document.
db.pets.estimatedDocumentCount({})
Resultaat:
7
De maxTimeMS
Parameter
De db.collection.estimatedDocumentCount()
methode accepteert slechts één (optionele) parameter:de maxTimeMS
parameter. Hiermee kunt u de maximale hoeveelheid tijd instellen die de telbewerking kan uitvoeren.
Voorbeeld:
db.pets.estimatedDocumentCount({}, { maxTimeMS: 5000 })
Resultaat:
7
Beëindiging van count()
in het voordeel van estimatedDocumentCount()
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 in het voordeel van nieuwe API's voorcountDocuments()
enestimatedDocumentCount()
. Zie de driverdocumentatie voor de specifieke API-namen voor een bepaalde driver.
Meer informatie
Op een shard-cluster filtert het resulterende aantal verweesde documenten niet correct uit.
Na een onreine afsluiting kan de telling ook onjuist zijn.
Zie de MongoDB-documentatie voor meer informatie.