データベース接続の構成
Overview
このガイドでは、Diango プロジェクトのMongoDBへの接続を構成する方法を学習できます。
接続構成
Dpango MongoDBバックエンドをインストールし、プロジェクトを作成 したら、次の方法でMongoDBへの接続を構成できます。
Tip
Dpango MongoDBバックエンドをインストールし、 Diangoプロジェクトを作成する 方法については、 「 MongoDBバックエンドを使い始める」チュートリアル をご覧ください。
データベース設定の手動構成
MongoDBへの接続を手動で構成するには、プロジェクトの settings.py
ファイルで DATABASES
設定を更新します。これを default
キーを含む辞書に設定します。
DATABASES = { "default": { # Specify nested dictionary keys here }, }
default
キーを設定するには、その値としてネストされた辞書を割り当てます。 このネストされた辞書には次のキーがあります。
キー | 説明 |
---|---|
エンジン | 接続に使用するバックエンドドライバー。 このキーを |
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" |
名前 | 使用するデータベース。 |
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
設定は次のアクションを実行しています。
データベースを に設定します
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
: 使用するデータベースの名前。test
: テスト データベースの設定の辞書を提供します。 この引数は任意です。 詳細については、Diango ドキュメントの TEST 設定を参照してください。
例
次の例では、parse_uri()
関数を使用して、前の手動構成の例と同じ接続構成を指定しています。
import django_mongodb_backend MONGODB_URI = "mongodb+srv://my_user:[email protected]/?retryWrites=true&w=majority" DATABASES["default"] = django_mongodb_backend.parse_uri(MONGODB_URI, db_name="<database name>")
詳細情報
MongoDBデータベース接続を構成するサンプルプロジェクトを表示するには、 はじめに チュートリアルの「 MongoDB接続の構成 」ステップを参照してください。
Diango 設定の詳細については、Diango ドキュメントの「 設定 」を参照してください。