В MongoDB db.collection.estimatedDocumentCount() метод връща броя на всички документи в колекция или изглед.
collection част е името на колекцията или изгледа за извършване на операцията за броене.
db.collection.estimatedDocumentCount() метод обвива count команда.
Пример
Да предположим, че имаме колекция, наречена pets със следните документи:
{ "_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 } Можем да използваме следната заявка, за да върнем броя на документите в колекцията:
db.pets.estimatedDocumentCount() Резултат:
7
db.collection.estimatedDocumentCount() методът не приема филтър за заявки. Вместо това използва метаданни, за да върне броя на документите за цялата колекция.
Въпреки това, той все още работи, когато е предоставен с празен документ.
db.pets.estimatedDocumentCount({}) Резултат:
7
maxTimeMS Параметър
db.collection.estimatedDocumentCount() методът приема само един (по избор) параметър:maxTimeMS параметър. Това ви позволява да зададете максималния период от време, през който може да се изпълнява операцията за броене.
Пример:
db.pets.estimatedDocumentCount({}, { maxTimeMS: 5000 }) Резултат:
7
Оттегляне на count() в полза на estimatedDocumentCount()
Имайте предвид, че документацията на MongoDB посочва следното:
Драйверите на MongoDB, съвместими с функциите 4.0, отменят съответния курсор и колекция
count()API в полза на нови API заcountDocuments()иestimatedDocumentCount(). За конкретните имена на API за даден драйвер вижте документацията на драйвера.
Повече информация
В разделен клъстер полученият брой няма да филтрира правилно осиротелите документи.
Освен това след нечисто изключване броят може да е неправилен.
Вижте документацията на MongoDB за повече информация.