sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB odhadovanýDocumentCount()

V MongoDB db.collection.estimatedDocumentCount() metoda vrací počet všech dokumentů v kolekci nebo pohledu.

collection part je název kolekce nebo pohledu, na kterém se má operace počítání provést.

db.collection.estimatedDocumentCount() metoda zabalí count příkaz.

Příklad

Předpokládejme, že máme sbírku nazvanou pets s následujícími dokumenty:

{ "_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 }

Pro vrácení počtu dokumentů ve sbírce můžeme použít následující dotaz:

db.pets.estimatedDocumentCount()

Výsledek:

7

db.collection.estimatedDocumentCount() metoda nepoužívá filtr dotazů. Místo toho používá metadata k vrácení počtu dokumentů pro celou kolekci.

Stále však funguje, když je poskytnut s prázdným dokumentem.

db.pets.estimatedDocumentCount({})

Výsledek:

7

maxTimeMS Parametr

db.collection.estimatedDocumentCount() metoda přijímá pouze jeden (nepovinný) parametr:maxTimeMS parametr. To vám umožní nastavit maximální dobu, po kterou může operace počítání běžet.

Příklad:

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

Výsledek:

7

Ukončení podpory count() ve prospěch estimatedDocumentCount()

Všimněte si, že dokumentace MongoDB uvádí následující:

Ovladače MongoDB kompatibilní s funkcemi 4.0 zastarávají svůj příslušný kurzor a kolekci count() Rozhraní API ve prospěch nových rozhraní API pro countDocuments() a estimatedDocumentCount() . Konkrétní názvy API pro daný ovladač naleznete v dokumentaci ovladače.

Další informace

Na sdíleném clusteru nebude výsledný počet správně odfiltrovat osiřelé dokumenty.

Také po nečistém vypnutí může být počet nesprávný.

Další informace naleznete v dokumentaci MongoDB.


  1. MongoDB Regular Expression Search – začíná používáním javascriptového ovladače a NodeJS

  2. Jak vytvořím pracovníka resque automaticky při spuštění?

  3. Výkon Redis vs Disk v aplikaci pro ukládání do mezipaměti

  4. Upgrade starší mongo databáze po neúmyslném upgradu mongo verze