Configure sua conexão de banco de dados
Nesta página
Visão geral
Neste guia, você aprenderá a configurar a conexão do seu projeto Django com o MongoDB.
Configuração da conexão
Após instalar o Django MongoDB Backend e criar um projeto, você poderá configurar sua conexão com o MongoDB das seguintes maneiras:
Configure manualmente as configurações do banco de dados especificando a
DATABASES
variável nas configurações do seu projeto.Configure automaticamente as configurações do banco de dados usando a
parse_uri()
função.
Dica
Para saber como instalar o Django MongoDB Backend e criar um projeto Django, acesse o tutorial Introdução ao Django MongoDB Backend.
Definir manualmente as configurações do banco de dados
Para configurar manualmente sua conexão com o MongoDB, atualize a variável DATABASES
no arquivo settings.py
do seu projeto. Defina a variável DATABASES
para um valor de dicionário contendo a chave default
, como mostrado no seguinte exemplo:
DATABASES = { "default": { # Specify nested dictionary keys here }, }
Para configurar a chave default
, atribua um dicionário aninhado como seu valor. Este dicionário aninhado tem as seguintes chaves:
Chave | Descrição |
---|---|
Mecanismo | O driver de backend a ser usado para a conexão. Defina esta chave como |
Anfitrião | 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" |
Nome | O banco de dados que você deseja usar. |
USUÁRIO | O nome de usuário para autenticar no banco de dados, se sua conexão exigir autenticação. |
PASSWORD | A senha do usuário de banco de dados, se a conexão exigir autenticação. |
Porta | The port number on which the database server is listening. The default
port is 27017 .For MongoDB Atlas connections, this key is optional. |
Opções | 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. |
Exemplo
Neste exemplo, a variável DATABASES
executa as seguintes ações:
Define o banco de dados como
my_database
Fornece informações de autenticação para um usuário de banco de dados cujo nome de usuário é
my_user
e senha émy_password
Especifica a porta MongoDB padrão (
27017
)Define a opção de conexão
retryWrites
comotrue
, que configura o driver para repetir automaticamente determinadas operações de gravação se elas falharemDefine a opção de conexão
w
paramajority
, que configura o driver para aguardar a confirmação da maioria dos membros do conjunto de réplicas antes de executar operações de gravação
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", }, }, }
Definir automaticamente as configurações do banco de dados
Para construir automaticamente a configuração do DATABASES
que configura sua conexão MongoDB , você pode utilizar a função parse_uri()
. Esta função aceita os seguintes argumentos:
uri
: seu URI de conexão do MongoDB .db_name
: O nome do banco de dados que você deseja usar.conn_max_age
: configura conexões persistentes do banco de dados . Este argumento é opcional. Para saber mais, consulte Conexões persistentes na documentação do Django.test
: fornece um dicionário de configurações para bancos de dados de teste. Este argumento é opcional. Para saber mais,consulte a configuração TEST na documentação do Django.
Exemplo
O exemplo a seguir usa a parse_uri()
função para especificar a mesma configuração de conexão que o exemplo de configuração 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>")
Informações adicionais
Para visualizar um projeto de exemplo que configura uma conexão de banco de dados MongoDB , consulte a etapa Configurar sua conexão MongoDB no tutorial de Introdução.
Para saber mais sobre as configurações do Django, consulte Configurações na documentação do Django.