Consultas a MongoDB en Python: Tutorial completo

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.

Python
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.

Python
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.

Python
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.

Python
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.

Python
# 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.