MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

RuntimeError:tarefa anexada a um loop diferente


Eu ainda quero que meu MotorClient esteja no nível superior do módulo, então é isso que eu faço:eu corrijo MotorClient.get_io_loop para sempre retornar o loop atual.
import asyncio
import motor.core

from motor.motor_asyncio import (
    AsyncIOMotorClient as MotorClient,
)

# MongoDB client
client = MotorClient('mongodb://localhost:27017/test')
client.get_io_loop = asyncio.get_running_loop

# The current database ("test")
db = client.get_default_database()


# async context
async def main():
    posts = db.posts
    await posts.insert_one({'title': 'great success!')


# Run main()
asyncio.run(main())