Este proyecto es una demostración de cómo conectar una aplicación Python a una base de datos MongoDB utilizando MongoDB Atlas y el paquete pymongo
.
Antes de comenzar, asegúrate de tener instalados los siguientes componentes:
- Python (versión 3.6 o superior)
- pip
- MongoDB Atlas (Cuenta y Cluster configurados)
- Git (opcional)
Clona este repositorio en tu máquina local (opcional si decides usar Git):
git clone https://github.com/Mgobeaalcoba/python_mongoDB
cd tu-repositorio
Es recomendable usar un entorno virtual para gestionar las dependencias del proyecto:
python -m venv venv
source venv/bin/activate # En Windows usa `venv\Scripts\activate`
Instala las dependencias necesarias utilizando pip:
pip install pymongo python-dotenv
Crea un archivo .env
en la raíz del proyecto y añade las siguientes líneas, reemplazando con tus credenciales:
MONGO_USERNAME=tu_usuario
MONGO_PASSWORD=tu_contraseña
Asegúrate de reemplazar "nombre_de_tu_base_de_datos"
en el archivo main.py
con el nombre real de tu base de datos en MongoDB Atlas.
Para ejecutar el proyecto, simplemente corre el script main.py
:
python main.py
Si todo está configurado correctamente, deberías ver el mensaje "Usuario guardado con éxito" en la consola, indicando que el usuario ha sido registrado en la base de datos MongoDB.
├── .env # Archivo de variables de entorno (no se debe compartir)
├── .gitignore # Archivos y carpetas que Git debe ignorar
├── README.md # Documentación del proyecto
├── main.py # Script principal del proyecto
├── venv/ # Entorno virtual (no se debe compartir)
A continuación se muestra el código contenido en main.py
:
import pymongo
import os
from dotenv import load_dotenv
# Cargar las variables de entorno desde el archivo .env
load_dotenv()
def conectar_db():
# Obtener el nombre de usuario y la contraseña desde las variables de entorno
username = os.getenv("MONGO_USERNAME")
password = os.getenv("MONGO_PASSWORD")
# Crear la cadena de conexión
uri = f"mongodb+srv://{username}:{password}@cluster0.mongodb.net/test?retryWrites=true&w=majority"
# Conectar al cliente de MongoDB
cliente = pymongo.MongoClient(uri)
# Conectar a la base de datos (reemplaza "nombre_de_tu_base_de_datos" con el nombre real de tu base de datos)
db = cliente["nombre_de_tu_base_de_datos"]
return db
class Usuario:
def __init__(self, nombre, email, edad):
self.nombre = nombre
self.email = email
self.edad = edad
def to_dict(self):
return {
"nombre": self.nombre,
"email": self.email,
"edad": self.edad
}
def guardar_usuario(db, usuario):
# Conectar a la colección "usuarios" en la base de datos
coleccion = db["usuarios"]
# Insertar el documento del usuario en la colección
coleccion.insert_one(usuario.to_dict())
print("Usuario guardado con éxito")
if __name__ == "__main__":
# Conectar a la base de datos
db = conectar_db()
# Crear un nuevo usuario
nuevo_usuario = Usuario("Juan Pérez", "juan.perez@example.com", 30)
# Guardar el usuario en la base de datos
guardar_usuario(db, nuevo_usuario)
- Seguridad: No compartas tu archivo
.env
ni tus credenciales en repositorios públicos. - Contribuciones: Si deseas contribuir a este proyecto, siéntete libre de enviar pull requests o reportar issues.
Este proyecto está bajo la Licencia MIT. Puedes ver más detalles en el archivo LICENSE
.