Overview
PyMongo は、MongoDB に接続して通信するために使用できる Python パッケージです。 このガイドでは、PyMongo を使用して MongoDB Atlas でホストされている MongoDB クラスターに接続するアプリケーションを作成する方法について説明します。
Tip
MongoDB Atlas は、MongoDB 配置をホストする完全管理のクラウドデータベース サービスです。このガイドの手順に従い、独自の無料(クレジット カード不要)MongoDB Atlas 配置を作成できます。
このガイドに従って、サンプル Python アプリケーションを MongoDB Atlas 配置に接続します。別のドライバーまたはプログラミング言語を使用して MongoDB に接続する場合は、公式ドライバーのリストを参照してください。
ダウンロードとインストール
注意
代替のインストール方法
以下の手順では、pip を使用してPyMongoをインストールする方法を示します。ソースからPyMongoをインストールするには、 APIドキュメントのソースからのインストールを参照してください。
これらの手順を完了すると、新しいプロジェクト ディレクトリとドライバーの依存関係がインストールされます。
MongoDB 配置の作成
MongoDB Atlasでは無料階層のMongoDBデプロイを作成して、データを保存および管理できます。 MongoDB Atlas は、クラウドでMongoDBデータベース をホストおよび管理します。
Atlas に無料のMongoDB配置を作成します。
Atlas の使用開始ガイドを完了して、新しい Atlas アカウントを設定し、サンプル データを新しい無料階層 MongoDB 配置にロードします。
これらの手順を完了すると、Atlas に新しい無料階層の MongoDB 配置、データベースユーザーの認証情報、データベースに サンプル データがロードされます 。
接続文字列の作成
MongoDB配置に接続するには、 接続string とも呼ばれる 接続 URIMongoDB を提供します。これは、 配置に接続する方法と接続中の動作をドライバーに指示します。
接続stringには、配置のホスト名またはIPアドレスとポート、認証メカニズム、ユーザー認証情報(該当する場合)、および接続オプションが含まれます。
Atlas でホストされていないインスタンスまたは配置に接続するには、「 接続ターゲットの選択 」を参照してください。
MongoDB Atlas接続文字列を見つけます。
前のステップで作成した配置の接続文字列を検索するには、Atlas アカウントにログインし、Clusters セクションの下のDatabase ページに移動します。新しい配置で [Connect] ボタンをクリックします。

データベースユーザーをまだ設定していない場合、 MongoDB は新しいユーザーを作成して設定するように要求します。
Connect to your application セクションの下の Drivers ボタンをクリックし、Driver 選択メニューから「Python」を選択し、Version 選択メニューからインストールしたバージョンに最適化されたバージョンを選択します。
接続文字列のみを表示するには、View full code sample オプションが選択されていないことを確認します。
これらの手順を完了すると、データベースのユーザー名とパスワードを含む接続stringが作成されます。
MongoDB に接続する
PyMongoアプリケーションを作成します。
次のコードをコピーして、アプリケーション内の quickstart.pyファイルに貼り付けます。対応するコードを表示するには、Synchronous タブまたは Asynchronousタブを選択します。
from pymongo import MongoClient uri = "<connection string URI>" client = MongoClient(uri) try: database = client.get_database("sample_mflix") movies = database.get_collection("movies") # Query for a movie that has the title 'Back to the Future' query = { "title": "Back to the Future" } movie = movies.find_one(query) print(movie) client.close() except Exception as e: raise Exception("Unable to find the document due to the following error: ", e)
import asyncio from pymongo import AsyncMongoClient async def main(): uri = "<connection string URI>" client = AsyncMongoClient(uri) try: database = client.get_database("sample_mflix") movies = database.get_collection("movies") # Query for a movie that has the title 'Back to the Future' query = { "title": "Back to the Future" } movie = await movies.find_one(query) print(movie) await client.close() except Exception as e: raise Exception("Unable to find the document due to the following error: ", e) # Run the async function asyncio.run(main())
接続文字列を割り当てます。
<connection string URI> プレースホルダーを、このガイドの接続文字列の作成ステップからコピーした接続文字列に置き換えます。
アプリケーションを実行します。
このアプリケーションを起動するには、shell で次のコマンドを実行します。
python3 quickstart.py
出力には、検索された映画ドキュメントの詳細が含まれます。
{ _id: ..., plot: 'A young man is accidentally sent 30 years into the past...', genres: [ 'Adventure', 'Comedy', 'Sci-Fi' ], ... title: 'Back to the Future', ... }
Tip
エラーが発生した場合や出力が表示されない場合は、 適切な接続stringが指定されているかどうか、およびサンプル データがロードされているかどうかを確認してください。
これらの手順を完了すると、ドライバーを使用して MongoDB 配置に接続し、サンプル データに対してクエリを実行し、結果を出力する動作するアプリケーションが作成されます。
次のステップ
チュートリアルを完了しました。
このチュートリアルでは、MongoDB Atlas でホストされている MongoDB 配置に接続し、クエリに一致するドキュメントを検索する Python アプリケーションを作成しました。
次のリソースから PyMongo の詳細を学びます。
「ドキュメントの挿入」セクションで、ドキュメントを挿入する方法を学びます。
クエリセクションでドキュメントを検索する方法について学びます。
ドキュメントの更新方法については、「ドキュメントの更新」セクションを参照してください。
ドキュメントを削除する方法については、「ドキュメントの削除」セクションを参照してください。
注意
この手順で問題が発生した場合は、このページの右側または右下にある Rate this pageタブを使用してフィードバックを送信してください。
MongoDB Stack Overflowタグ または MongoDB Reddit Community を使用して、一般的な質問のサポートを見つけることができます。
