Docs Menu
Docs Home
/
MongoDB ドライバー
/

Motor(非同期ドライバー)

項目一覧

  • はじめに
  • インストール
  • MongoDB Atlas への接続
  • Stable API なしでの MongoDB Atlas への接続
  • ローカルマシン上の MongoDB Server への接続
  • 互換性

非同期 Python アプリケーション用の公式 MongoDB ドライバーである Motor のドキュメントサイトへようこそ。 pip を使用して、ダウンロードします。または、チュートリアルに従って実行可能なプロジェクトをセットアップします。

Tip

非ブロッキング方式またはコルーチンから MongoDB にアクセスする必要がない場合は、代わりに PyMongo ドライバーを使用することをお勧めします。

以下のリンクから、Motor ドライバーの具体的なユースケースを説明したブログ記事をお読みください。

Motor ドライバー モジュールを Python アプリケーションで使用できるようにするには、Motor ドライバー モジュールをインストールする必要があります。Motor をインストールするには、pip の使用をお勧めします。

以下のコマンドは、コマンドラインを使用してモジュールの最新バージョンをインストールする方法を示しています。

$ python -m pip install motor

要件やその他のインストール方法の詳細については、Motor のインストール ドキュメントを参照してください。

次の接続スニペットを使用して、asyncio 非同期フレームワークを使用して Atlas 上の MongoDB 配置への接続をテストできます。

import asyncio
from motor.motor_asyncio import AsyncIOMotorClient
from pymongo.server_api import ServerApi
async def ping_server():
# Replace the placeholder with your Atlas connection string
uri = "<connection string>"
# Set the Stable API version when creating a new client
client = AsyncIOMotorClient(uri, server_api=ServerApi('1'))
# Send a ping to confirm a successful connection
try:
await client.admin.command('ping')
print("Pinged your deployment. You successfully connected to MongoDB!")
except Exception as e:
print(e)
asyncio.run(ping_server())

この接続スニペットは、Motor ドライバー v2.5 以降を使用して MongoDB Server v5.0 以降に接続するときに有効にできる Stable API 機能を使用します。この機能を使用すると、Stable API でカバーされるコマンドの下位互換性の問題を心配することなく、ドライバーまたはサーバーをアップデートできます。

Stable API 機能の詳細については、サーバー マニュアルの「Stable API」を参照してください。

注意

2022 年 2 月以降、Versioned APIStable API という名前に変更しました。この名前の変更に伴うコンセプトと機能の変更はありません。

Stable API 機能をサポートしていないバージョンの MongoDB またはドライバーを使用している場合は、次のコード スニペットを使用して、MongoDB Atlas 上の MongoDB 配置への接続をテストできます。

import asyncio
from motor.motor_asyncio import AsyncIOMotorClient
async def ping_server():
# Replace the placeholder with your Atlas connection string
uri = "<connection string>"
# Create a new client and connect to the server
client = AsyncIOMotorClient(uri)
# Send a ping to confirm a successful connection
try:
await client.admin.command('ping')
print("Pinged your deployment. You successfully connected to MongoDB!")
except Exception as e:
print(e)
asyncio.run(ping_server())

tornado 非同期ライブラリを使用している場合は、次のコードを使用して MongoDB 配置に接続できます。

import tornado
import motor
async def ping_server():
# Replace the placeholder with your Atlas connection string
uri = "<connection string>"
# Set a 5-second connection timeout when creating a new client
client = motor.motor_tornado.MotorClient(uri, serverSelectionTimeoutMS=5000)
# Send a ping to confirm a successful connection
try:
await client.admin.command('ping')
print("Pinged your deployment. You successfully connected to MongoDB!")
except Exception as e:
print(e)
tornado.ioloop.IOLoop.current().run_sync(ping_server)

Atlas クラスターを使用する代わりに、開発目的でローカル コンピューター上で MongoDB Server を実行する必要がある場合は、次の手順を完了する必要があります。

  1. MongoDB Server の Communityバージョン または Enterprise バージョンをダウンロードします。

  2. MongoDB Serverをインストールして構成します。

  3. サーバーを起動します。

重要

MongoDB サーバーを悪意のある攻撃から常に保護します。セキュリティ推奨事項のリストについては、「セキュリティ チェックリスト」を参照してください。

MongoDB Serverを正常に開始したら、ドライバー接続コードで接続文字列を指定します。

MongoDB Server がローカルで実行されている場合は、接続文字列 "mongodb://localhost:<port>" を使用できます。ここで、<port> は、着信接続をリッスンするようにサーバーに設定したポート番号です。

別のホスト名または IP アドレスを指定する必要がある場合は、接続文字列に関するサーバー マニュアルのエントリを参照してください。

サーバーに接続できるかどうかをテストするには、MongoDB Atlas への接続に記載のコード例の接続文字列を置き換えて実行します。

次の互換性テーブルは、特定のバージョンの MongoDB で使用するための Motor(Python 非同期)ドライバーの推奨バージョンを示しています。

最初の列は、ドライバーのバージョンの一覧です。

重要

MongoDB は、MongoDB Server のバージョンのサポート終了(EOL)日から 3 年間、MongoDB Server とドライバー間の互換性を保証します。 MongoDB のリリースと EOL の日付の詳細については、「 MongoDB ソフトウェアライフサイクルの予定 」を参照してください。

Icon
説明
すべての機能がサポートされています。
ドライバー バージョンは MongoDB バージョンで動作しますが、すべての新しい MongoDB 機能がサポートされているわけではありません。
マークなし
ドライバー バージョンは MongoDB バージョンではテストされていません。
Motor ドライバーのバージョン
MongoDB 8.0
MongoDB 7.0
MongoDB 6.0
MongoDB 5.0
MongoDB 4.4
MongoDB 4.2
MongoDB 4.0
MongoDB 3.6
3.6
3.2から3.5
3.1
3.0

ドライバーは MongoDB の古いバージョンをサポートしていません。

次の互換性テーブルは、特定のバージョンの Python で使用するための Motor(Python 非同期)ドライバーの推奨バージョンを示しています。

最初の列は、ドライバーのバージョンの一覧です。

Motor ドライバーのバージョン
Python 3.13
Python 3.12
Python 3.11
Python 3.10
Python 3.9
Python 3.8
Python 3.7
3.6
3.5
3.3から3.4
3.1 から 3.2
3.0
  • Motor 3.6で PyMongo 4.9をラップ

  • Motor 3.5 で PyMongo 4.5 を 4.8 にラップ

  • Motor 3.3 と 3.4 は PyMongo 4.5 をラップします。

  • Motor 3.2 で PyMongoyMongo 4.4+ をラップ

  • Motor 3.1 で PyMongo 4.2+ をラップ

  • Motor 3.0 で PyMongo 4.1+ をラップ

注意

  • asyncio をサポートするには、Motor に Python 3.4+、または PyPI の asyncio パッケージを使用した Python 3.3 が必要です。

  • Motor 2.3+ は Windows をサポートしています。

互換性テーブルの読み方の詳細については、「 MongoDB 互換性テーブル に関するガイドを参照してください。

戻る

Python ドライバー