Motor2.0 устарел MotorCursor граф API, почему это? - PullRequest
0 голосов
/ 13 сентября 2018

Мотор 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 меньше производительности?

...