MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB оцененDocumentCount()

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Golang + MongoDB вграден тип (вграждане на структура в друга структура)

  2. Основи на репликацията на веригата на MongoDB

  3. MongoDB:безопасно ли е да използвате идентификатора на документа публично?

  4. MongoDB $setDifference

  5. MongoDB - потребител с администратор не е оторизиран