从PyMongo切换到PyMongo异步
重要
概述
PyMongo 异步驱动程序是 PyMongo 和Motor 库的统一。在本指南中,您可以识别从 PyMongo 切换到 PyMongo 异步必须做出的更改。
从 PyMongo 切换
PyMongo 异步驱动程序的行为类似于 PyMongo,但所有执行网络操作的方法都是协程,必须使用 await 等待。要从 PyMongo 切换到 PyMongo 异步,您必须按照以下方式更新您的代码
将所有使用
MongoClient
的实例替换为AsyncMongoClient
。将所有异步方法调用添加
await
关键字。如果在一个函数内部调用异步方法,请将此函数标记为
async
。
以下部分描述了如何实现异步 API。
异步方法
以下表格列出了PyMongo Async驱动程序中可用的异步方法。要调用这些方法,您必须使用await
并在一个async
函数中调用它们。
客户端方法
方法 | 示例 | |||
---|---|---|---|---|
AsyncMongoClient() |
| |||
watch() |
| |||
server_info() |
| |||
list_databases() |
| |||
list_database_names() |
| |||
drop_database() |
|
数据库方法
方法 | 示例 | ||
---|---|---|---|
watch() |
| ||
create_collection() |
| ||
aggregate() |
| ||
command() |
| ||
cursor_command() |
| ||
list_collections() |
| ||
list_collection_names() |
| ||
drop_collection() |
| ||
validate_collection() |
| ||
dereference() |
|
集合方法
方法 | 示例 | ||
---|---|---|---|
watch() |
| ||
insert_one() |
| ||
insert_many() |
| ||
replace_one() |
| ||
update_one() |
| ||
update_many() |
| ||
drop() |
| ||
delete_one() |
| ||
delete_many() |
| ||
find_one() |
| ||
estimated_document_count() |
| ||
count_documents() |
| ||
create_index() |
| ||
create_indexes() |
| ||
drop_index() |
| ||
drop_indexes() |
| ||
list_indexes() |
| ||
index_information() |
| ||
list_search_indexes() |
| ||
create_search_index() |
| ||
create_search_indexes() |
| ||
drop_search_index() |
| ||
update_search_index() |
| ||
options() |
| ||
aggregate() |
| ||
aggregate_raw_batches() |
| ||
rename() |
| ||
distinct() |
| ||
find_one_and_delete() |
| ||
find_one_and_replace() |
| ||
find_one_and_update() |
|
附加信息
要了解更多关于异步Python的信息,请参阅Python Asyncio文档。