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.