I MongoDB er db.collection.estimatedDocumentCount()
metode returnerer antallet af alle dokumenter i en samling eller visning.
collection
del er navnet på samlingen eller visningen, der skal udføres tælleoperationen på.
db.collection.estimatedDocumentCount()
metode ombryder 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.estimatedDocumentCount()
Resultat:
7
db.collection.estimatedDocumentCount()
metoden tager ikke et forespørgselsfilter. Den bruger i stedet metadata til at returnere dokumentantallet for hele samlingen.
Det fungerer dog stadig, når det leveres med et tomt dokument.
db.pets.estimatedDocumentCount({})
Resultat:
7
maxTimeMS
Parameter
db.collection.estimatedDocumentCount()
metoden accepterer kun én (valgfri) parameter:maxTimeMS
parameter. Dette giver dig mulighed for at indstille den maksimale tid, som tælleoperationen kan køre.
Eksempel:
db.pets.estimatedDocumentCount({}, { maxTimeMS: 5000 })
Resultat:
7
Udvikling af count()
til fordel for estimatedDocumentCount()
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
På en fragmenteret klynge vil den resulterende optælling ikke bortfiltrere forældreløse dokumenter korrekt.
Efter en uren nedlukning kan optællingen også være forkert.
Se MongoDB-dokumentationen for mere information.