从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文档。