sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB estimadoDocumentCount()

En MongoDB el db.collection.estimatedDocumentCount() método devuelve el recuento de todos los documentos en una colección o vista.

La collection part es el nombre de la colección o vista para realizar la operación de conteo.

db.collection.estimatedDocumentCount() método envuelve el count comando.

Ejemplo

Supongamos que tenemos una colección llamada pets con los siguientes documentos:

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

Podemos utilizar la siguiente consulta para devolver el número de documentos de la colección:

db.pets.estimatedDocumentCount()

Resultado:

7

db.collection.estimatedDocumentCount() El método no acepta un filtro de consulta. En su lugar, utiliza metadatos para devolver el recuento de documentos de toda la colección.

Sin embargo, aún funciona cuando se le proporciona un documento vacío.

db.pets.estimatedDocumentCount({})

Resultado:

7

El maxTimeMS Parámetro

db.collection.estimatedDocumentCount() El método acepta solo un parámetro (opcional):el maxTimeMS parámetro. Esto le permite establecer la cantidad máxima de tiempo que se puede ejecutar la operación de conteo.

Ejemplo:

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

Resultado:

7

Obsoleto de count() a favor de estimatedDocumentCount()

Tenga en cuenta que la documentación de MongoDB establece lo siguiente:

Los controladores MongoDB compatibles con las funciones 4.0 desaprueban sus respectivos cursores y colecciones count() API a favor de nuevas API para countDocuments() y estimatedDocumentCount() . Para conocer los nombres de API específicos para un controlador determinado, consulte la documentación del controlador.

Más información

En un clúster fragmentado, el recuento resultante no filtrará correctamente los documentos huérfanos.

Además, después de un apagado incorrecto, el recuento puede ser incorrecto.

Consulte la documentación de MongoDB para obtener más información.