Мотор 2.0 Руководство по миграции
MotorCursor.count and MotorGridOutCursor.count. Use MotorCollection.count_documents() or MotorCollection.estimated_document_count()
которые используют функцию подкачки страниц, приводят к двойному запросу монго. Пример
async def page(query_filer, page, page_page_count):
_count = await get_collection().count_documents(query_filer)
total_page = math.Ceil(_count/page_page_count)
if total_page > page:
return [], total_page
records = await get_collection().find(query_filer}).skip((page - 1) * limit).limit(limit).to_list()
return res, total_page
Однако, используя старый мотор 1.x, можете написать ниже код
async def old_page(query_filer, page, page_page_count):
cursor = get_collection().find(query_filer})
_count = await cursor.count()
total_page = math.Ceil(_count/page_page_count)
if total_page > page:
return [], total_page
records = await cursor.skip((page - 1) * limit).limit(limit).to_list()
return res, total_page
Перспектива производительности, двигатель 2.0 меньше производительности?