配置数据库连接
Overview
在本指南中,您可以学习;了解如何配置 Django 项目与MongoDB的连接。
连接配置
安装 Django MongoDB后端并创建项目后,您可以通过以下方式配置与MongoDB的连接:
使用
parse_uri()
函数自动配置数据库设置。
提示
要学习;了解如何安装 Django MongoDB后端并创建 Django项目,请访问 Django MongoDB后端入门教程。
手动配置数据库设置
要手动配置与MongoDB的连接,更新项目的 settings.py
文件中的 DATABASES
变量。 将 DATABASES
变量设置为包含 default
键的字典值,如以下示例所示:
DATABASES = { "default": { # Specify nested dictionary keys here }, }
要配置 default
键,请将嵌套字典指定为其值。 该嵌套字典具有以下键:
键 | 说明 |
---|---|
引擎 | 用于连接的后端驾驶员。 将此键设置为 |
主机 | 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" |
名称 | 要使用的数据库。 |
用户 | 如果您的连接需要身份验证,则用于对数据库进行身份验证的用户名。 |
PASSWORD | 如果您的连接需要身份验证,则数据库用户的密码。 |
端口 | The port number on which the database server is listening. The default
port is 27017 .For MongoDB Atlas connections, this key is optional. |
选项 | 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. |
例子
在此示例中,DATABASES
变量执行以下操作:
将数据库设置为
my_database
为用户名名为
my_user
、密码为my_password
的数据库用户提供身份验证信息指定默认MongoDB端口 (
27017
)将
retryWrites
连接选项设置为true
,这会将驾驶员配置为在某些写入操作失败时自动重试这些写入操作将
w
连接选项设置为majority
,这会将驾驶员配置为在执行写入操作之前等待大多数副本集成员的确认
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", }, }, }
自动配置数据库设置
要自动构造用于配置MongoDB连接的 DATABASES
设置,您可以使用 parse_uri()
函数。 此函数接受以下参数:
uri
:您的MongoDB连接 URI。db_name
:要使用的数据库的名称。conn_max_age
:配置持久数据库连接。 此参数是可选的。 要学习;了解更多信息,请参阅 Django 文档中的持久连接。test
:提供测试数据库设置字典。 此参数是可选的。 要学习;了解更多信息,请参阅 Django 文档中的 TEST 设置。
例子
以下示例使用parse_uri()
函数指定与上一个手动配置示例相同的连接配置:
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>")
更多信息
要查看配置MongoDB 数据库连接的示例项目,请参阅入门教程中的配置MongoDB连接步骤。