Consultas a MongoDB en Python: Tutorial completo
MongoDB es una base de datos NoSQL de documentos que utiliza JSON como su formato de datos nativo. Es una base de datos escalable y flexible que se puede utilizar para una amplia gama de aplicaciones.
En este tutorial, aprenderemos cómo realizar consultas a MongoDB desde Python. Usaremos la biblioteca PyMongo, que es la biblioteca oficial de Python para MongoDB.
Requisitos previos
Para seguir este tutorial, necesitarás lo siguiente:
- Python 3.7 o superior
- La biblioteca PyMongo
Instalación de PyMongo
Para instalar PyMongo, abre una terminal y ejecuta el siguiente comando:
pip install pymongo
Conexión a MongoDB
Para conectarte a MongoDB desde Python, usa el método connect() de la biblioteca PyMongo. Este método toma dos parámetros: la dirección del servidor MongoDB y el puerto.
import pymongo
client = pymongo.MongoClient("mongodb://localhost:27017")
Este código conectará a nuestro cliente a un servidor MongoDB que se ejecuta en la máquina local en el puerto 27017.
Creación de una base de datos
Para crear una base de datos en MongoDB, usa el método create_database() de la biblioteca PyMongo. Este método toma un nombre de base de datos como parámetro.
db = client["my_database"]
Este código creará una base de datos llamada «my_database».
Creación de una colección
Para crear una colección en MongoDB, usa el método create_collection() de la biblioteca PyMongo. Este método toma un nombre de colección como parámetro.
collection = db["my_collection"]
Este código creará una colección llamada «my_collection» en la base de datos «my_database».
Agregando documentos
Para agregar un documento a una colección, usa el método insert_one() de la biblioteca PyMongo. Este método toma un documento como parámetro.
document = {"name": "John Doe", "age": 30}
collection.insert_one(document)
Este código agregará un documento a la colección «my_collection» con el nombre «John Doe» y la edad 30.
Consultas básicas
MongoDB utiliza el operador $query
para realizar consultas. El operador $query
toma una expresión JSON como parámetro.
# Obtener todos los documentos
documents = collection.find()
# Obtener un documento por nombre
document = collection.find({"name": "John Doe"})
# Obtener documentos por edad
documents = collection.find({"age": {"$gt": 25}})
Estos códigos realizarán las siguientes consultas:
- Obtener todos los documentos de la colección «my_collection».
- Obtener el documento con el nombre «John Doe» de la colección «my_collection».
- Obtener los documentos con una edad mayor o igual a 25 de la colección «my_collection».
Consultas avanzadas
MongoDB ofrece una variedad de operadores de consulta avanzados para realizar consultas más complejas. Algunos de estos operadores incluyen:
$or
: Permite realizar una consulta que devuelva documentos que coincidan con uno o más criterios.$and
: Permite realizar una consulta que devuelva documentos que coincidan con todos los criterios.$not
: Permite realizar una consulta que devuelva documentos que no coincidan con un criterio.$in
: Permite realizar una consulta que devuelva documentos que coincidan con un valor en una lista.$exists
: Permite realizar una consulta que devuelva documentos que tengan o no tengan un campo específico.
Para obtener más información sobre los operadores de consulta avanzados, consulte la documentación de MongoDB.
Conclusión
En este tutorial, aprendimos cómo realizar consultas a MongoDB desde Python. Usamos la biblioteca PyMongo para conectarnos a MongoDB, crear bases de datos, colecciones y documentos, y realizar consultas básicas y avanzadas.
Para obtener más información sobre MongoDB, consulte la documentación oficial.