Cursores en MongoDB

En MongoDB, cuando realizamos una consulta (.find()) sobre una colección, obtenemos como resultado un cursor de documentos. Si queremos ver los documentos que contiene un cursor en MongoDB debemos de recorrerlo.

Un cursor lo obtenemos al hacer una consulta, luego por ejemplo:

var cursor = db.cantantes.find();

La variable cursor será la que contenga el listado de documentos.

Recorrer Cursores en MongoDB

Ahora para recorrer un cursor en MongoDB debemos de conocer una serie de métodos del cursor.

.hasNext()

Es un método que nos permite saber si quedan documentos por recorrer en el cursor.

.next()

Es un método que va moviendo el cursor y nos permite iterar por el cursor de documentos.

Así en nuestro ejemplo crearemos un bucle que nos ayude a recorrer un cursor de la siguiente forma:

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

Podemos a su vez 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("El cantante " + doc.nombre  + " " + doc.apellido + " tiene las canciones " + doc.canciones.count());
}

También te podría gustar...

Deja un comentario

Tu dirección de correo electrónico no será publicada.