Docs Home → アプリケーションの開発 → Python ドライバー → PyMongo
MongoDB に接続する
項目一覧
Overview
このページには、Python アプリケーションをさまざまな設定で MongoDB に接続する方法を示すコード例が含まれています。
Tip
このページの接続オプションの詳細については、各セクションに記載されているリンクを参照してください。
このページの接続例を使用するには、コード例をサンプルアプリケーションまたは独自のアプリケーションにコピーします。 <hostname>
などのコード例にあるすべてのプレースホルダーを、MongoDB 配置に関連する値に置き換えてください。
サンプル アプリケーション
次のサンプルアプリケーションを使用して、このページのコード例をテストできます。 サンプル アプリケーションを使用するには、次の手順を実行します。
PyMongo がインストールされていることを確認します。
次のコードをコピーし、新しい
.py
ファイルに貼り付けます。このページからコード例をコピーし、 ファイル内の指定された行に貼り付けます。
1 from pymongo import MongoClient 2 3 try: 4 # start example code here 5 6 # end example code here 7 8 client.admin.command("ping") 9 print("Connected successfully") 10 11 # other application code 12 13 client.close() 14 15 except Exception as e: 16 raise Exception( 17 "The following error occurred: ", e)
接続
ローカル配置
uri = "mongodb://localhost:27017/" client = MongoClient(uri)
Atlas
uri = "<Atlas connection string>" client = MongoClient(uri, server_api=pymongo.server_api.ServerApi( version="1", strict=True, deprecation_errors=True))
レプリカセット
uri = "mongodb://<replica set member>:<port>/?replicaSet=<replica set name>" client = MongoClient(uri)
トランスポート層セキュリティ (TLS)
TLS の有効化
client = pymongo.MongoClient("mongodb://<username>:<password>@<hostname:<port>", tls=True)
TLS を有効にする方法の詳細については、TLS 構成ガイドの「 TLSを有効にする 」を参照してください。
証明機関(CA)ファイルの指定
client = pymongo.MongoClient("mongodb://<username>:<password>@<hostname>:<port>", tls=True, tlsCAFile="/path/to/ca.pem")
CA ファイルの指定の詳細については、TLS 構成ガイドの「 CA ファイルの指定」を参照してください。
OCSP チェックの無効化
client = pymongo.MongoClient("mongodb://<username>:<password>@<hostname>:<port>", tls=True, tlsDisableOCSPEndpointCheck=True)
OCSP チェックを無効にする方法の詳細については、TLS 構成ガイドの「 OCSP 」を参照してください。
証明書失効リスト(CRL)の指定
client = pymongo.MongoClient("mongodb://<username>:<password>@<hostname>:<port>", tls=True, tlsCRLFile="/path/to/crl.pem")
CRL の指定の詳細については、TLS 構成ガイドの「証明書失効リスト」を参照してください。
クライアント証明書の提示
client = pymongo.MongoClient("mongodb://<username>:<password>@<hostname>:<port>", tls=True, tlsCertificateKeyFile='/path/to/client.pem')
クライアント証明書の指定の詳細については、TLS 構成ガイドの「クライアント証明書の提示」を参照してください。
証明書鍵ファイルのパスワードの指定
client = pymongo.MongoClient("mongodb://<username>:<password>@<hostname:<port>", tls=True, tlsCertificateKeyFile='/path/to/client.pem', tlsCertificateKeyFilePassword=<passphrase>)
キー ファイルのパスワードの指定の詳細については、TLS 構成ガイドの「キー パスワードの指定」を参照してください。
AllowInsecureTls
client = pymongo.MongoClient("mongodb://<username>:<password>@<hostname:<port>", tls=True, tlsInsecure=True)
安全でない TLS の許可の詳細については、TLS 構成ガイドの「 安全でない TLS を許可する 」を参照してください。
証明書検証の無効化
client = pymongo.MongoClient("mongodb://<username>:<password>@<hostname>:<port>", tls=True, tlsAllowInvalidCertificates=True)
証明書検証を無効にする方法の詳細については、TLS 構成ガイドの「 安全でない TLS の許可」を参照してください。
ホスト名検証を無効化する
client = pymongo.MongoClient("mongodb://<username>:<password>@<hostname>:<port>", tls=True, tlsAllowInvalidHostnames=True)
ホスト名検証を無効にする方法の詳細については、TLS 構成ガイドの「 安全でない TLS を許可する 」を参照してください。
ネットワーク圧縮
圧縮アルゴリズム
client = pymongo.MongoClient("mongodb://<username>:<password>@<hostname>:<port>", compressors = "snappy,zstd,zlib")
圧縮アルゴリズムの指定の詳細については、ネットワーク圧縮ガイドの「 圧縮アルゴリズムの指定 」を参照してください。
zlibCompressionLevel
client = pymongo.MongoClient("mongodb://<username>:<password>@<hostname>:<port>", compressors = "zlib", zlibCompressionLevel=<zlib compression level>)
zlib 圧縮レベルの設定の詳細については、ネットワーク圧縮ガイドの「圧縮アルゴリズムの指定 」を参照してください。
サーバーの選択
client = pymongo.MongoClient("mongodb://<username>:<password>@<hostname>:<port>", server_selector=<selector function>)
サーバー選択をカスタマイズする方法について詳しくは、「 サーバー選択をカスタマイズする 」を参照してください。
Stable API
from pymongo.server_api import ServerApi client = pymongo.MongoClient("mongodb://<username>:<password>@<hostname:<port>", server_api=ServerApi("<Stable API version>"))
Stable API の詳細については、「 Stable API 」を参照してください。
MongoDB Server実行時間の制限
タイムアウト ブロック
with pymongo.timeout(<timeout length>): # perform operations here
クライアント側タイムアウトの詳細については、「サーバーの実行時間の制限 」を参照してください。
timeoutMS 接続オプション
client = pymongo.MongoClient("mongodb://<username>:<password>@<hostname@:<port>", timeoutMS=<timeout length>)
クライアント側タイムアウトの詳細については、「サーバーの実行時間の制限 」を参照してください。