Cuando realizamos consultas en MongoDB una de las cosas que querremos saber es el número total de registros de una colección o el número total de registros afectados por una consulta. Para ello tenemos el método MongoDB count.
El método MongoDB count se puede aplicar directamente sobre una colección o sobre una consulta y nos devolverá dicha información.
La ejecución del método MongoDB count devuelve un número con el número de documentos contados.
La sintaxis sobre una colección es la siguiente:
db.coleccion.count();
De esta manera, en nuestra colección de ejemplo de ciudades, escribiríamos lo siguiente:
db.ciudades.count();
Esto devolvería el número total de documentos que componen una colección. Que al fin y al cabo podría escribirse también como:
db.ciudades.find().count();
Es decir, contar una consulta que recupera todos los documentos. Y es que esta es la base para contar registros parciales de consultas con MongoDB count. La sintaxis será:
db.coleccion.find({filtros}).count();
En este sentido, si estamos consultando nuestra colección de documentos de ciudades:
{ "_id" : ObjectId("525ab02733b01a66a9dcbc5b"), "ciudad" : "Madrid", "habitantes" : 3233527 } { "_id" : ObjectId("525ab02733b01a66a9dcbc5c"), "ciudad" : "Barcelona", "habitantes" : 1620943 } { "_id" : ObjectId("525ab02733b01a66a9dcbc5d"), "ciudad" : "Valencia", "habitantes" : 797028 } { "_id" : ObjectId("525ab02733b01a66a9dcbc5e"), "ciudad" : "Sevilla", "habitantes" : 702355 } { "_id" : ObjectId("525ab02733b01a66a9dcbc5f"), "ciudad" : "Zaragoza", "habitantes" : 679624 }
Si consultamos ciudades que empiecen por M y queremos saber cuantas existen, podemos utilizar el método MongoDB count.
db.ciudades.find({ciudad:/^M/}).count();
Como podéis ver el uso del método MongoDB count es muy sencillo. Otra cosa es el coste en tiempo y rendimiento, pero eso ya es cuestión de otro artículo. :-D