当前位置: 首页 > 工具软件 > Asyncio Mongo > 使用案例 >

motor -- 异步操作Mongo

司空俊悟
2023-12-01

代码

# -*- coding: utf-8 -*-
# @Author   : zbz

import time
import asyncio

from motor.motor_asyncio import AsyncIOMotorClient


async def asy_mongo_io():
    mcli = AsyncIOMotorClient('mongodb://localhost:27017')
    table = mcli["ztasks"]["info"]
    l = await table.count_documents({})

    # 慢
    begin = time.time()
    for _ in range(l):
        docu = (await table.find({}).to_list(length=1))[0]
        print(docu)
    print("cons time {}".format(time.time() - begin))

    # 快
    begin = time.time()
    async for docu in table.find({}):
        print(docu)
    print("cons time {}".format(time.time() - begin))


if __name__ == '__main__':
    coro = asy_mongo_io()
    loop = asyncio.get_event_loop()
    loop.run_until_complete(coro)

 类似资料: