Overview
このガイドでは、Diango プロジェクトのMongoDBへの接続を構成する方法を学習できます。
接続構成
Dpango MongoDBバックエンドをインストールし、プロジェクトを作成 したら、プロジェクトの settings.pyファイルで DATABASES 設定を変更して、 MongoDBへの接続を構成できます。
Tip
Dpango MongoDBバックエンドをインストールし、 Diangoプロジェクトを作成する 方法については、 を使い始める チュートリアルをご覧ください。
次のコードに示すように、default キーを含む辞書に DATABASES を設定します。
DATABASES = { "default": { # Specify nested dictionary keys here }, }
default キーを設定するには、その値としてネストされた辞書を割り当てます。 このネストされた辞書には次のキーがあります。
キー | 説明 |
|---|---|
エンジン | 接続に使用するバックエンドドライバー。 このキーを |
Host | The hostname. For localhost connections, this key is optional. For SRV connections, you must include a scheme prefix ( mongodb+srv://).You can also specify a connection URI in this key. For more information,
see Automatically Configure Database Settings. 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" |
名前 | 使用するデータベース。 |
USER | 接続に認証 が必要な場合は、データベースに認証するためのユーザー名。 |
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 設定を使用して次の方法で接続を構成する方法について説明します。
データベース設定を自動的に構成する : ネストされた
HOSTキーを使用して接続 URI を指定し、接続設定を自動的に構成します。データベース設定を手動で構成する : 複数の辞書キーにわたる接続設定を指定します。
データベース設定の自動構成
重要
v5.2.1 で追加
Diango MongoDBバックエンド v5.2.1 では、ネストされた キーで接続 URIHOST を指定するためのサポートが追加されます。以前のバージョンを使用している場合でも、接続を手動で構成したり、非推奨のparse_uri() 関数を使用したりできます。
接続 URI で接続設定を指定するには、次のネストされた default キーを設定します。
ENGINE:"django_mongodb_backend"に設定します。HOST: 接続 URI に設定します。NAME: 使用するデータベースの名前に設定します。
前のセクションで説明されているその他のキーはすべてオプションです。
例
この例では、ENGINE、HOST、NAME キーのみを使用してMongoDBへの接続を構成しています。DATABASES 設定は次のアクションを実行します。
ユーザー名が
my_userでパスワードがmy_passwordのデータベースユーザーの認証情報を提供しますretryWrites接続オプションをtrueに設定し、失敗した場合に特定の書込み操作を自動的に再試行するようにドライバーを構成しますw接続オプションをmajorityに設定します。これにより、書込み操作を実行する前に、過半数のレプリカセットノードからの確認を待機するようにドライバーが構成されますデータベースを に設定します
my_database
DATABASES = { "default": { "ENGINE": "django_mongodb_backend", "HOST": "mongodb+srv://my_user:my_password@cluster0.example.mongodb.net/?retryWrites=true&w=majority", "NAME": "my_database", }
注意
DATABASES 設定で追加のキーを指定すると、それらのキーの値が接続 URI から解析された競合する値を上書きします。
データベース設定の手動構成
default キー全体で接続情報を指定することで、接続設定を手動で構成できます。
例
この例では、辞書キーを使用して、前の例と同じデータベース接続を構成しています。
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データベース接続を構成するサンプルプロジェクトを表示するには、 はじめに チュートリアルの「 MongoDB接続の構成 」ステップを参照してください。
Diango 設定の詳細については、Diango ドキュメントの設定を参照してください。