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

MongoDB db.colección.cuenta()

En MongoDB el db.collection.count() El método devuelve el recuento de documentos que coincidirían con un find() consulta de la colección o vista.

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

Tenga en cuenta que en realidad no realiza un find() operación. Simplemente cuenta y devuelve el número de resultados que coinciden con una consulta.

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.count()

Resultado:

7

Esto es equivalente a hacer lo siguiente:

db.pets.find().count()

Resultado:

7

La documentación de MongoDB en realidad desaconseja el uso de db.collection.count() sin un predicado de consulta. Esto se debe a que el método devuelve resultados basados ​​en los metadatos de la colección, lo que puede generar un recuento aproximado.

Contar el resultado de una consulta

Puede contar el resultado de una consulta pasando los criterios de consulta.

Ejemplo:

db.pets.count({
    "type": "Dog"
})

Resultado:

4

En este ejemplo, descubrimos que hay cuatro perros en la colección.

Comprobemos el recuento de otra consulta. Esta vez averiguaremos cuántas mascotas tienen un peso superior a una determinada cantidad.

db.pets.count({
    "weight": { $gt: 10 }
})

Resultado:

3

Limitar el conteo

Puedes usar el limit parámetro para especificar un número máximo de documentos para contar.

Ejemplo:

db.pets.count( {}, { limit: 5 } )

Resultado:

5

Vimos antes que en realidad hay 7 documentos en esta colección, pero en este ejemplo lo limitamos a contar un máximo de 5.

Si el límite es superior al recuento real, el resultado no se verá afectado por el limit argumento.

Ejemplo:

db.pets.count( {}, { limit: 10 } )

Resultado:

7

Omitir documentos

Puedes contar usa el skip parámetro para omitir una cantidad de documentos antes de contar.

Ejemplo:

db.pets.count( {}, { skip: 5 } )

Resultado:

2

Desactivación

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

El db.collection.count() El método es un envoltorio para el count comando.

El db.collection.count() El método acepta otros parámetros, como hint , maxTimeMS , readConcern y collection .

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