sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB estimatedDocumentCount()

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 til countDocuments() og estimatedDocumentCount() . 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.


  1. Hvordan installeres tidligere version af mongodb med homebrew?

  2. MongoParseError:muligheder useCreateIndex, useFindAndModify understøttes ikke

  3. Hvordan opdaterer jeg delvist et objekt i MongoDB, så det nye objekt vil overlejre / flette med det eksisterende

  4. Integration af ClusterControl med SNMP:Anden del