Artículos
MongoDB

Consultas MongoDB con límite de documentos

01/Feb/2014

Cuando estamos realizando consultas en MongoDB podemos tener la necesidad de establecer un límite en el número de documentos a devolver. En este artículo vamos a ver como podemos realizar consultas MongoDB con límite de documentos.

Lo primero que repasaremos será la forma de realizar una consulta mediante el método .find()

cursor = db.ciudades.find();

while (cursor.hasNext()) {
 printjson(cursor.next());
}

El método .find() se lanza sobre la colección que queremos consultar. En el caso del ejemplo sobre la colección ciudades. Dentro del método .find podemos establecer los filtros que necesitemos para realizar la consulta.

Cuando el cursor recorra todos los datos de la colección devolverá todos aquellos que contemplen el filtro. Si no ponemos nada, nos devuelve todos.

Así, si tenemos la colección ciudades como:

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

Nos devolverá todos esos documentos.

Para realizar consultas MongoDB con límite de documentos utilizaremos el método .limit(). El método .limit() tiene como parámetro el número de documentos a los que queremos limitar la respuesta. Es decir, que aunque haya más documentos que cumplen la condición, solo se devolverán tantos como indique el parámetro de .limit()

El código será el siguiente:

cursor = db.ciudades.find().limit(2);

while (cursor.hasNext()) {
 printjson(cursor.next());
}

En este caso el código limita a dos resultados como respuesta. Así, si partimos de la anterior colección, el resultado será el siguiente:

{
	"_id" : ObjectId("525ab02733b01a66a9dcbc5b"),
	"ciudad" : "Madrid",
	"habitantes" : 3233527
}
{
	"_id" : ObjectId("525ab02733b01a66a9dcbc5c"),
	"ciudad" : "Barcelona",
	"habitantes" : 1620943
}

Lógicamente el uso del método .limit() a la hora de realizar consultas MongoDB con límite de documentos permite una optimización en el tiempo de respuesta de las consultas. Ya que la base de datos MongoDB solo recorrerá los documentos a los que nos hemos limitado y no todos.

Código Fuente

Descárgate el código fuente de Consultas MongoDB con límite de documentos
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre MongoDB

Disfruta también de nuestros artículos sobre MongoDB en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test MongoDB

¿Te atreves a probar tus habilidades y conocimiento en MongoDB con nuestro test?

Test MongoDB
Suscribir
Notificar de
guest
1 Comentario
Recientes
Anteriores Más votados
Opiniones integradas
Ver todos los comentarios