Cómo consultar MongoDB con Python: Una guía completa
MongoDB ha sido nuestra base de datos NoSQL preferida durante varios años debido a su velocidad, escalabilidad e interfaz amigable para desarrolladores. En esta guía, te guiaremos paso a paso por la consulta de MongoDB utilizando Python.
Primeros pasos con MongoDB y Python
Antes de sumergirnos en la consulta de MongoDB, debemos asegurarnos de tener MongoDB instalado y en ejecución en nuestra máquina. También necesitamos instalar la biblioteca PyMongo, que es el controlador de Python para MongoDB.
Instalación de PyMongo y conexión
Primero, instala el controlador usando pip:
pip install pymongoLuego, establece una conexión con el servidor de MongoDB:
from pymongo import MongoClient
client = MongoClient("mongodb://localhost:27017/")
# Remember to close the connection when finished: client.close()Selección de una base de datos
Una vez establecida la conexión con el servidor de MongoDB, debemos seleccionar una base de datos con la que trabajar. En PyMongo, podemos seleccionar una base de datos accediendo a ella como un atributo del objeto MongoClient.
seleccionar una base de datos de MongoDB en Python
db = client.mydatabaseConsulta de una colección
Ahora que hemos seleccionado una base de datos, podemos consultar una colección dentro de esa base de datos. En MongoDB, una colección es similar a una tabla en una base de datos relacional.
Para consultar una colección, debemos llamar al método find() en el objeto de la colección. El método find() devuelve un objeto cursor, sobre el cual podemos iterar para acceder a los documentos de la colección.
método find en MongoDB usando Python
collection = db.mycollection
cursor = collection.find({})
for document in cursor:
print(document)Este ejemplo recupera todos los documentos de la colección mycollection y los imprime en la consola.
Filtrado de documentos
Para filtrar documentos en una colección, podemos pasar un objeto de consulta al método find(). El objeto de consulta especifica los criterios que deben cumplir los documentos para ser devueltos por la consulta.
filtrar documentos en una colección de MongoDB en Python
query = {"name": "John"}
cursor = collection.find(query)
for document in cursor:
print(document)Aquí, la consulta devuelve solo los documentos donde el campo name coincide con "John".
Ordenación de documentos
Para ordenar documentos en una colección, podemos encadenar el método .sort() al cursor. El parámetro de ordenación especifica el campo por el cual ordenar y la dirección de ordenación.
Una consulta con ordenación en MongoDB en Python
query = {}
sort = [("name", 1)]
cursor = collection.find(query).sort(sort)
for document in cursor:
print(document)Esto recupera todos los documentos y los ordena por el campo name en orden ascendente.
Limitación de resultados
Para limitar la cantidad de documentos devueltos por una consulta, podemos llamar al método limit() en el objeto cursor.
Limitación de los resultados de una consulta en MongoDB en Python
query = {}
sort = [("name", 1)]
cursor = collection.find(query).sort(sort).limit(10)
for document in cursor:
print(document)Esto combina la ordenación con un límite, devolviendo solo los primeros 10 resultados.
Conclusión
Esta guía cubrió los fundamentos para conectarse a MongoDB, seleccionar una base de datos y ejecutar consultas con Python. Ahora sabes cómo filtrar, ordenar y limitar tus resultados de manera efectiva. Utiliza estas técnicas para construir aplicaciones robustas y escalables. ¡Feliz programación!