Overview
このページでは、 PyMongoでドキュメントを検索するために使用できる一般的な方法を示すコピー可能なコード例を紹介します。
Tip
このページに記載されているメソッドの詳細については、各セクションに提供されているリンクを参照してください。
このページの例を使用するには、コード サンプルをサンプル アプリケーションまたは独自のアプリケーションにコピーします。 <connection string URI>などのコード例にあるすべてのプレースホルダーを、MongoDB 配置に関連する値に置き換えてください。
サンプル アプリケーション
次のサンプルアプリケーションを使用して、このページのコード例をテストできます。 サンプル アプリケーションを使用するには、次の手順を実行します。
PyMongo がインストールされていることを確認します。
次のコードをコピーし、新しい
.pyファイルに貼り付けます。このページからコード例をコピーし、 ファイル内の指定された行に貼り付けます。
対応するコードを表示するには、Synchronous タブまたは Asynchronousタブを選択します。
import pymongofrom pymongo import MongoClient
try: uri = "<connection string URI>" client = MongoClient(uri)
database = client["<database name>"] collection = database["<collection name>"]
# start example code here
# end example code here
client.close()
except Exception as e: raise Exception( "The following error occurred: ", e)import asyncioimport pymongofrom pymongo import AsyncMongoClient
async def main(): try: uri = "<connection string URI>" client = AsyncMongoClient(uri)
database = client["<database name>"] collection = database["<collection name>"]
# start example code here
# end example code here
await client.close()
except Exception as e: raise Exception( "The following error occurred: ", e)
asyncio.run(main())1件を特定
results = collection.find_one({ "<field name>" : "<value>" })
print(results)results = await collection.find_one({ "<field name>" : "<value>" })
print(results)find_one()メソッドの詳細については、データ取得 ガイドの「 1 つのドキュメントの検索 」を参照してください。
複数検索
results = collection.find({ "<field name>" : "<value>" })
for document in results: print(document)results = collection.find({ "<field name>" : "<value>" })
async for document in results: print(document)find()メソッドの詳細については、データ取得 ガイドの「 複数のドキュメントの検索 」を参照してください。
コレクション内のドキュメントをカウント
count = collection.count_documents({})
print(count)count = await collection.count_documents({})
print(count)count_documents()メソッドの詳細については、「正確なカウントの取得」ガイドを参照してください。
クエリから返されたドキュメントをカウントする
count = collection.count_documents({ "<field name>": "<value>" })
print(count)count = await collection.count_documents({ "<field name>": "<value>" })
print(count)count_documents()メソッドの詳細については、「正確なカウントの取得」ガイドを参照してください。
推定ドキュメント数
count = collection.estimated_document_count()
print(count)count = await collection.estimated_document_count()
print(count)estimated_document_count()メソッドの詳細については、「推定カウントの取得」ガイドを参照してください。
Retrieve Distinct Values
results = collection.distinct("<field name>")
for document in results: print(document)results = await collection.distinct("<field name>")
for document in results: print(document)distinct()メソッドの詳細については、「個別のフィールド値の取得 」ガイドを参照してください。
データの変更を監視
with collection.watch() as stream: for change in stream: print(change)async with await collection.watch() as stream: async for change in stream: print(change)watch() メソッドの詳細については、Change Streams によるデータの監視 ガイドを参照してください。