mongo_db.py 1.74 KB
from pymongo import MongoClient
from config import *

# Conectar a la base de datos MongoDB
client = MongoClient(MONGO_URI)  # Reemplaza con tu cadena de conexión
db = client[SESSION_MONGODB_DB]
collection = db[SESSION_MONGODB_COLLECT]

def crear(id_mensaje):
    # Crear un documento con el estado "En cola"
    if type(id_mensaje) != int:
        return None
    id_mensaje = str(id_mensaje)
    nuevo_documento = {
        "_id": id_mensaje,
        "estado": "En cola"
    }
    try:
        collection.insert_one(nuevo_documento)
        print(f"Mensaje con id {id_mensaje} creado con estado 'En cola'.")
    except Exception as e:
        print(f"Error al crear el mensaje: {e}")

def editar(id_mensaje, nuevo_estado):
    # Editar el estado del documento con el id_mensaje dado
    try:
        resultado = collection.update_one({"_id": str(id_mensaje)}, {"$set": {"estado": nuevo_estado}})
        if resultado.matched_count:
            print(f"Mensaje con id {id_mensaje} actualizado a estado '{nuevo_estado}'.")
        else:
            print(f"No se encontró ningún mensaje con id {id_mensaje}.")
    except Exception as e:
        print(f"Error al editar el mensaje: {e}")

def obtener_estado(id_mensaje):
    # Obtener el estado del documento con el id_mensaje dado
    try:
        documento = collection.find_one({"_id": str(id_mensaje)})
        if documento:
            return documento["estado"]
        else:
            print(f"No se encontró ningún mensaje con id {id_mensaje}.")
            return None
    except Exception as e:
        print(f"Error al obtener el estado del mensaje: {e}")
        return None

# Ejemplo de uso
crear("mensaje1")
print(obtener_estado("mensaje1"))
editar("mensaje1", "Procesado")
print(obtener_estado("mensaje1"))