在此页面上,您可以查看可复制的代码示例,这些示例展示了使用PyMongo查找文档的常用方法。
提示
要了解有关此页面上显示的任何方法的更多信息,请参阅每个部分中提供的链接。
要使用本页中的示例,请将代码示例复制到示例应用程序或您自己的应用程序中。 请务必将代码示例中的所有占位符(例如 <connection string URI> )替换为 MongoDB 部署的相关值。
您可以使用以下示例应用程序来测试本页上的代码示例。 要使用示例应用程序,请执行以下步骤:
确保已安装 PyMongo。
复制以下代码并将其粘贴到新的.py文件中。
从此页面复制代码示例,并将其粘贴到文件中的指定行。
选择 Synchronous 或 Asynchronous标签页以查看相应的代码:
| 1 | import pymongo |
| 2 | from pymongo import MongoClient |
| 3 | |
| 4 | try: |
| 5 | uri = "<connection string URI>" |
| 6 | client = MongoClient(uri) |
| 7 | |
| 8 | database = client["<database name>"] |
| 9 | collection = database["<collection name>"] |
| 10 | |
| 11 | |
| 12 | |
| 13 | |
| 14 | |
| 15 | client.close() |
| 16 | |
| 17 | except Exception as e: |
| 18 | raise Exception( |
| 19 | "The following error occurred: ", e) |
| 1 | import asyncio |
| 2 | import pymongo |
| 3 | from pymongo import AsyncMongoClient |
| 4 | |
| 5 | async def main(): |
| 6 | try: |
| 7 | uri = "<connection string URI>" |
| 8 | client = AsyncMongoClient(uri) |
| 9 | |
| 10 | database = client["<database name>"] |
| 11 | collection = database["<collection name>"] |
| 12 | |
| 13 | |
| 14 | |
| 15 | |
| 16 | |
| 17 | await client.close() |
| 18 | |
| 19 | except Exception as e: |
| 20 | raise Exception( |
| 21 | "The following error occurred: ", e) |
| 22 | |
| 23 | asyncio.run(main()) |
| results = collection.find_one({ "<field name>" : "<value>" }) |
|
| print(results) |
| results = await collection.find_one({ "<field name>" : "<value>" }) |
|
| print(results) |
要学习;了解有关find_one()方法的更多信息,请参阅《检索数据》指南中的查找一个文档。
| 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()方法的更多信息,请参阅“检索估计计数”指南。
| 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() 方法的更多信息,请参阅《使用变更流监控数据》指南。