PyMongo ディストリビューションには、Python から MongoDB データベースと対話するためのツールが含まれています。 bson
パッケージは、Python 用の BSON 形式の実装です。 pymongo
パッケージは、MongoDB のネイティブ Python ドライバーです。 gridfs
パッケージは、 pymongo
上の Gridfs 実装です。
PyMongo は、MongoDB 4.0、4.2、4.4、5.0、6.0、7.0、および 8.0 をサポートします。
PyMongo に関する問題、質問、フィードバックについては、サポート チャネルをご覧ください。問題や質問について PyMongo 開発者に直接電子メールを送信しないでください。StackOverflow で (「mongodb」タグを使用して) 回答が得られる可能性が高くなります。
バグを見つけたと思いますか? PyMongo の新機能を知りたいですか?問題管理ツール JIRA でケースを開いてください。
すべてのドライバー プロジェクト (つまり、PYTHON、CSHARP、JAVA) およびコア サーバー (つまり、SERVER) プロジェクトに関する JIRA のバグ レポートは公開されています。
問題を開くときは、次の情報をすべて含めてください。
可能であれば完全なトレースバックを含む、問題を再現するための詳細な手順。
使用されている正確な Python バージョンとパッチ レベル:
python -c " import sys; print(sys.version) "
python -c " import pymongo; print(pymongo.version); print(pymongo.has_c()) "
オペレーティング システムとバージョン (Windows 7、OSX 10.8 など)
使用されている Web フレームワークまたは非同期ネットワーク ライブラリ (存在する場合) とそのバージョン (例: Django 1.7、mod_wsgi 4.3.0、gevent 1.0.1、Tornado 4.0.2 など)
ドライバーまたはその他の MongoDB プロジェクトでセキュリティの脆弱性を特定した場合は、こちらの手順に従って報告してください。
PyMongo は pip でインストールできます。
python -m pip install pymongo
プロジェクト ソースをダウンロードして次のことを行うこともできます。
pip install .
pypi から「bson」パッケージをインストールしないでください。 PyMongo には独自の bson パッケージが付属しています。 「pip install bson」を実行すると、PyMongo と互換性のないサードパーティ パッケージがインストールされます。
PyMongo は CPython 3.9 以降と PyPy3.9 以降をサポートしています。
必要な依存関係:
mongodb+srv://
URI のサポートには dnspython が必要です
オプションの依存関係:
GSSAPI 認証には、Unix では pykerberos が必要で、Windows では WinKerberos が必要です。正しい依存関係は、PyMongo とともに自動的にインストールできます。
python -m pip install " pymongo[gssapi] "
MONGODB-AWS 認証には pymongo-auth-aws が必要です。
python -m pip install " pymongo[aws] "
OCSP (オンライン証明書ステータス プロトコル) には PyOpenSSL、リクエスト、service_identity が必要で、証明書が必要になる場合があります。
python -m pip install " pymongo[ocsp] "
snappy を使用したワイヤ プロトコル圧縮には python-snappy が必要です。
python -m pip install " pymongo[snappy] "
zstandard を使用したワイヤ プロトコル圧縮には zstandard が必要です。
python -m pip install " pymongo[zstd] "
クライアント側のフィールド レベル暗号化には、pymongocrypt と pymongo-auth-aws が必要です。
python -m pip install " pymongo[encryption] "
次のコマンドを使用して、すべての依存関係を自動的にインストールできます。
python -m pip install " pymongo[gssapi,aws,ocsp,snappy,zstd,encryption] "
追加の依存関係は次のとおりです。
基本的な例を次に示します (詳細については、ドキュメントの例のセクションを参照してください)。
>>> import pymongo
>>> client = pymongo.MongoClient( " localhost " , 27017 )
>>> db = client.test
>>> db.name
'test'
>>> db.my_collection
Collection(Database(MongoClient('localhost', 27017), 'test'), 'my_collection')
>>> db.my_collection.insert_one({ " x " : 10 }).inserted_id
ObjectId('4aba15ebe23f6b53b0000000')
>>> db.my_collection.insert_one({ " x " : 8 }).inserted_id
ObjectId('4aba160ee23f6b543e000000')
>>> db.my_collection.insert_one({ " x " : 11 }).inserted_id
ObjectId('4aba160ee23f6b543e000002')
>>> db.my_collection.find_one()
{'x': 10, '_id': ObjectId('4aba15ebe23f6b53b0000000')}
>>> for item in db.my_collection.find():
... print (item[ " x " ])
...
10
8
11
>>> db.my_collection.create_index( " x " )
'x_1'
>>> for item in db.my_collection.find().sort( " x " , pymongo. ASCENDING ):
... print (item[ " x " ])
...
8
10
11
>>> [item[ " x " ] for item in db.my_collection.find().limit( 2 ).skip( 1 )]
[8, 11]
ドキュメントは pymongo.readthedocs.io で入手できます。
ドキュメントはpip install hatch を実行することで生成できます。ハッチングで doc:build を実行します。生成されたドキュメントはdoc/build/html/
ディレクトリにあります。
テストを実行する最も簡単な方法は、ディストリビューションのルートでhatch run test:test * を実行することです。例えば、
pip install hatch
hatch run test:test