Artículos
MongoDB

Recorrer un cursor en MongoDB

06/Nov/2013

Cuando realizamos consultas sobre una colección en MongoDB lo que obtenemos como resultado es un cursor de documentos. Si queremos ver los documentos que contiene un cursor en MongoDB deberemos de recorrerlo.

Un cursor lo obtendremos cuando realizamos una consulta mediante MongoDB find. Por ejemplo al realizar la siguiente consulta:

conn = new Mongo();
db = conn.getDB("demografia");

cursor = db.ciudades.find();

La variable cursor será la que contenga el listado de documento. Ahora para recorrer un cursor en MongoDB deberemos de conocer una serie de métodos del cursor. El primer método es .hasNext() es un método que nos permite saber si quedan documentos por recorrer en el cursor, otro método es .next() el cual va moviendo el cursor y nos permite iterar por el cursor de documentos.

Lo que crearemos será un bucle que nos ayude a recorrer un cursos en MongoDB de la siguiente forma:

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

El método printjson nos vuelva el contenido JSON del documento. Si bien tenemos que saber que cada vez que ejecutemos el método .next() vamos a obtener un documento.

documento = cursor.next();

Y al tener un documento podemos acceder a los campos del documento mediante una notación de punto. De esta forma si queremos acceder al campo ciudad lo haremos de la siguiente forma:

print (documento.ciudad);

Siguiendo estas pautas podemos construir un bucle que recorra un cursor en MongoDB y muestre el contenido de la consulta de la siguiente forma:

while (cursor.hasNext()) {
  doc = cursor.next();
 
  // Imprimir un documento
  printjson(doc);
  
  // Imprimir campos de un documento
  print("En " + doc.ciudad + " hay " + doc.habitantes + " habitantes.");
}

Código Fuente

Descárgate el código fuente de Recorrer un cursor en MongoDB
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