Overview
En esta guía, puede aprender cómo configurar la conexión de su proyecto Django a MongoDB.
Configuración de la conexión
Después de instalar Django MongoDB Backend y crear un proyecto, puede configurar su conexión a MongoDB de las siguientes maneras:
Configure manualmente los ajustes de la base de datos especificando
DATABASESconfiguración en la configuración de su proyecto.Configure automáticamente las opciones de la base de datos mediante la
parse_uri()función.
Tip
Configurar manualmente la configuración de la base de datos
Para configurar manualmente su conexión a MongoDB, actualice la configuración DATABASES en el archivo settings.py de su proyecto. Ajústela a un diccionario que contenga la clave default:
DATABASES = { "default": { # Specify nested dictionary keys here }, }
Para configurar la clave default, asigne un diccionario anidado como su valor. Este diccionario anidado tiene las siguientes claves:
Clave | Descripción |
|---|---|
MOTOR | El controlador de backend que se usará para la conexión. Establezca esta clave en |
HOST | Your connection URI. For localhost connections, this key is optional. For SRV connections, you must include a scheme prefix ( mongodb+srv://).To specify more than one host, include all hostnames in one string. Use
a comma to separate each hostname. Example: "HOST": "mongodb://mongos0.example.com:27017,mongos1.example.com:27017" |
NOMBRE | La base de datos que desea utilizar. |
USUARIO | El nombre de usuario para autenticarse en la base de datos, si su conexión requiere autenticación. |
PASSWORD | La contraseña de su usuario de base de datos, si su conexión requiere autenticación. |
PUERTO | The port number on which the database server is listening. The default
port is 27017.For MongoDB Atlas connections, this key is optional. |
opciones | A dictionary of additional connection options for the database. This key is optional. To see a full list of connection options that you can set in the OPTIONS key,
see the optional parameters for MongoClient
in the PyMongo API documentation. |
Ejemplo
En este ejemplo, la configuración DATABASES realiza las siguientes acciones:
Establece la base de datos en
my_databaseProporciona información de autenticación para un usuario de base de datos cuyo nombre de usuario es
my_usery contraseña esmy_passwordEspecifica el puerto MongoDB predeterminado (
27017)Establece la opción de conexión
retryWritesentrue, lo que configura el controlador para volver a intentar automáticamente ciertas operaciones de escritura si fallan.Establece la opción de conexión
wenmajority, que configura el controlador para esperar la confirmación de la mayoría de los miembros del conjunto de réplicas antes de realizar operaciones de escritura.
DATABASES = { "default": { "ENGINE": "django_mongodb_backend", "HOST": "mongodb+srv://cluster0.example.mongodb.net", "NAME": "my_database", "USER": "my_user", "PASSWORD": "my_password", "PORT": 27017, "OPTIONS": { "retryWrites": "true", "w": "majority", }, }, }
Configurar automáticamente los ajustes de la base de datos
Para construir automáticamente la configuración DATABASES que configura su conexión a MongoDB, puede usar la función parse_uri(). Esta función acepta los siguientes argumentos:
uri:Su URI de conexión MongoDB.db_name: El nombre de la base de datos que desea utilizar.conn_max_age: Configura conexiones persistentes a la base de datos. Este argumento es opcional. Para obtener más información, consulta Conexiones persistentes en la documentación de Django.testProporciona un diccionario de configuraciones para bases de datos de prueba. Este argumento es opcional. Para obtener más información, consulte la configuración TEST en la documentación de Django.
Ejemplo
El siguiente ejemplo utiliza la parse_uri() función para especificar la misma configuración de conexión que el ejemplo de configuración manual anterior:
import django_mongodb_backend MONGODB_URI = "mongodb+srv://my_user:my_password@cluster0.example.mongodb.net/?retryWrites=true&w=majority" DATABASES["default"] = django_mongodb_backend.parse_uri(MONGODB_URI, db_name="<database name>")
Información Adicional
Para ver un proyecto de muestra que configura una conexión de base de datos MongoDB, consulte el paso Configurar su conexión MongoDB en el tutorial Primeros pasos.
Para obtener más información sobre la configuración de Django, consulte Configuración en la documentación de Django.