¿Qué es un cursor de PyMongo?

MongoDB es un sistema de gestión de bases de datos de código abierto que utiliza la base de datos NoSql para almacenar grandes cantidades de datos. MongoDB utiliza colecciones y documentos en lugar de tablas como las bases de datos relacionales tradicionales. Los documentos MongoDB son similares a los objetos JSON pero usan una variante llamada Binary JSON (BSON) que se adapta a más tipos de datos.

¿Qué es un Cursor?

Cuando utiliza la función db.collection.find() para buscar documentos en colecciones, como resultado, devuelve un puntero. Ese puntero se conoce como cursor. Considere si tenemos 2 documentos en nuestra colección, entonces el objeto del cursor apuntará al primer documento y luego recorrerá todos los documentos que están presentes en nuestra colección. 

Cursores de PyMongo:

Como ya discutimos qué es un cursor. Es básicamente una herramienta para iterar sobre conjuntos de resultados de consultas de MongoDB. Esta instancia de cursor es devuelta por el método find() . Considere el siguiente ejemplo para una mejor comprensión.

Ejemplo: la base de datos de ejemplo es la siguiente: 

 python-mongodb-sample-database6 

javascript

from pymongo import MongoClient
     
# Connecting to mongodb   
client = MongoClient('mongodb://localhost:27017/')
 
with client:
     
    db = client.GFG
    lectures = db.lecture.find()
 
    print(lectures.next())
    print(lectures.next())
    print(lectures.next())   
     
    print("\nRemaining Lectures\n")
    print(list(lectures))

Producción: 

python-mongodb-cursor

En esto, el método find() devuelve el objeto del cursor.

lectures = db.lecture.find()

Con el método next() obtenemos el siguiente documento de la colección.

lectures.next()

Con el método list(), podemos transformar el cursor en una lista de Python.

Publicación traducida automáticamente

Artículo escrito por techni621 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *