Docs 菜单

配置数据库连接

在本指南中,您可以学习;了解如何配置 Django 项目与MongoDB的连接。

安装 Django MongoDB后端并创建项目后,您可以通过以下方式配置与MongoDB的连接:

  • DATABASES通过在项目设置中指定 变量来手动配置数据库设置。

  • 使用 parse_uri()函数自动配置数据库设置。

提示

要学习;了解如何安装 Django MongoDB后端并创建 Django项目,请访问 Django MongoDB后端入门教程。

要手动配置与MongoDB的连接,更新项目的 settings.py文件中的 DATABASES 变量。 将 DATABASES 变量设置为包含 default 键的字典值,如以下示例所示:

DATABASES = {
"default": {
# Specify nested dictionary keys here
},
}

要配置 default 键,请将嵌套字典指定为其值。 该嵌套字典具有以下键:

说明

引擎

用于连接的后端驾驶员。 将此键设置为 "django_mongodb_backend"

主机

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连接步骤。

要学习;了解有关 Django 设置的更多信息,请参阅 Django 文档中的“设置”。