MongoDB es una base de datos NOSQL de código abierto y está implementada en C++. Es una implementación de base de datos orientada a documentos que almacena datos en estructuras llamadas Colecciones (grupo de documentos MongoDB). PyMongo es una famosa biblioteca de código abierto que se utiliza para consultas integradas de MongoDB. PyMongo se usa ampliamente para interactuar con una base de datos MongoDB, ya que Python es un lenguaje poderoso para el análisis de datos y la ciencia de datos.
¿Comprobar si el objeto Cursor está vacío o no?
Cuando se consulta una colección dada usando pymongo usando el método .find() , el valor de retorno es un objeto de tipo PyMongo.cursor.Cursor Class y contiene los documentos que coinciden con la consulta. El cursor de PyMongo estaría vacío en caso de que la consulta realizada no arrojara ningún resultado. Si desea obtener los documentos individuales, debe utilizar el método .find_one() . Para verificar si el objeto del cursor está vacío o no, se pueden seguir varios enfoques:
Enfoque 1: el cursor devuelto es iterable, por lo que podemos convertirlo en una lista. Si la longitud de la lista es cero (es decir, la lista está vacía), esto implica que el cursor también está vacío.
Base de datos de muestra:
Ejemplo:
Python3
import pymongo connection = pymongo.MongoClient() db = connection.GFG col = db.lecture # This is a cursor instance cur = col.find() results = list(cur) # Checking the cursor is empty # or not if len(results)==0: print("Empty Cursor") else: print("Cursor is Not Empty") print("Do Stuff Here")
Producción:
Cursor is Not Empty Do Stuff Here
Enfoque 2: otra forma es usar el método .count() que devuelve la cantidad de documentos coincidentes para la consulta. si el valor devuelto por .count() es 0, entonces el cursor está vacío y
Ejemplo:
Python3
import pymongo connection = pymongo.MongoClient() db = connection.GFG col = db.lecture # This is a cursor instance cur = col.find() if cur.count()==0: print("Empty Cursor") else: print("Cursor is Not Empty") print("Do Stuff Here")
Producción:
Cursor is Not Empty Do Stuff Here
Publicación traducida automáticamente
Artículo escrito por suchetaggarwal4 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA