Saltar a contenido

MongoDB

Esta sección explica las configuraciones básicas para establecer una conexión a una Base de Datos MongoDB.

MongoDB es una base de datos NoSQL de código abierto que almacena datos en documentos flexibles similares a JSON, conocidos como BSON (Binary JSON), en lugar de usar tablas y filas como las bases de datos relacionales tradicionales.

El apartado de configuraciones para las conexiones a Bases de Datos usando Callisto, se encuentran en el archivo app\server.py, donde se especifica que conexión usar por defecto, así como los datos de la misma.

Nota

Al habilitar MongoDB se buscará automaticamente la configuración para la conexión a este motor de Bases de Datos, tratando de acceder a ciertas variables de entorno predefinidas.

El soporte para MongoDB, es gestionado por PyMongo, una librería para conectarse y comunicarse con MongoDB.

Nota

como se comentaba anteriormente, por defecto no se habilita ningún motor de Bases de Datos, por lo que se deben descomentar las lineas, donde se establece la conexión.

from .contrib.mongoDB.connect import mongodb_close, mongodb_connect

...

@lru_cache
def init_databases():
    """Permite inicializar conexiones
    a Bases de Datos, esta función se
    cachea para mejorar el rendimiento.
    """

    print("starting databases...")

    # mongoDB
    db = mongodb_connect(True)

    if db is not None:
        fastapp.mongo_db = db


def stop_databases():
    """Permite cerrar conexiones
    a Bases de Datos.
    """

    print("stopping databases...")

    # mongoDB
    conn = getattr(fastapp, "mongo_db", None)
    mongodb_close(conn)

Entorno local

Es posible hacer uso de un archivo .env, ubicado en la raiz del proyecto (opción recomendada) y fijar las variables de entorno que se necesiten.

# .env file

# opcional, un prefijo para la base de datos
DATABASE_PREFIX=testing_

# datos de conexión para mongoDB
MONGO_USERNAME=
MONGO_PASS=
MONGO_CLUSTER=
MONGO_DB=

Recuerda

Cuando el BackEnd se ejecute sobre un servidor personalizado ó en contenedores, buscará las variables de entorno anteriormente definidas.

Lectura recomendada