В 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 за повече информация.