Ich möchte immer noch, dass sich mein MotorClient auf der obersten Ebene des Moduls befindet, also mache ich Folgendes:Ich patche MotorClient.get_io_loop
um immer die aktuelle Schleife zurückzugeben.
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())