sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB estimatedDocumentCount()

I MongoDB är db.collection.estimatedDocumentCount() metod returnerar antalet dokument i en samling eller vy.

collection del är namnet på samlingen eller vyn att utföra räkneoperationen på.

db.collection.estimatedDocumentCount() metoden omsluter count kommando.

Exempel

Anta att vi har en samling som heter pets med följande dokument:

{ "_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 använda följande fråga för att returnera antalet dokument i samlingen:

db.pets.estimatedDocumentCount()

Resultat:

7

db.collection.estimatedDocumentCount() metoden tar inte ett frågefilter. Den använder istället metadata för att returnera dokumentantalet för hela samlingen.

Det fungerar dock fortfarande när det förses med ett tomt dokument.

db.pets.estimatedDocumentCount({})

Resultat:

7

maxTimeMS Parameter

db.collection.estimatedDocumentCount() metoden accepterar bara en (valfri) parameter:maxTimeMS parameter. Detta låter dig ställa in den maximala tid som räkneoperationen kan köras.

Exempel:

db.pets.estimatedDocumentCount({}, { maxTimeMS: 5000 })

Resultat:

7

Utfasning av count() till förmån för estimatedDocumentCount()

Observera att MongoDB-dokumentationen anger följande:

MongoDB-drivrutiner som är kompatibla med 4.0-funktionerna fasar ut deras respektive markör och samling count() API:er till förmån för nya API:er för countDocuments() och estimatedDocumentCount() . För specifika API-namn för en given drivrutin, se drivrutinsdokumentationen.

Mer information

På ett fragmenterat kluster kommer det resulterande antalet inte att filtrera bort föräldralösa dokument korrekt.

Dessutom, efter en oren avstängning, kan räkningen vara felaktig.

Se MongoDB-dokumentationen för mer information.


  1. Använd 'MongoMappingContext#setAutoIndexCreation(boolean)' eller åsidosätt 'MongoConfigurationSupport#autoIndexCreation()' för att vara explicit

  2. Designa Redis databastabell som SQL?

  3. Underdokument index i mongo

  4. ModuleNotFoundError:Ingen modul med namnet 'grp' på Windows